2

我想构建一个 SELECT 语句,可以根据条件命名结果。为了更好地解释我的尝试,我构建了以下无效/无效语句。如何将以下 SELECT 语句更改为实际适用于我的原因的语句。谢谢!

SELECT  
  CASE
     WHEN dayStart LIKE '2012-06-11%' THEN UNIX_TIMESTAMP(dayStart) as today
     WHEN dayStart LIKE '2012-06-10%' THEN UNIX_TIMESTAMP(dayStart) as yest
     WHEN dayStart LIKE '2012-06-12%' THEN UNIX_TIMESTAMP(dayStart) as tomor
  END
FROM dayBook
WHERE userID = 1
4

3 回答 3

2

为什么不只返回两列,一列告诉您日期,另一列告诉您是今天、昨天还是明天?

SELECT  
  UNIX_TIMESTAMP(dayStart) as yourDate
, CASE
     WHEN dayStart LIKE '2012-06-11%' THEN 'today'
     WHEN dayStart LIKE '2012-06-10%' THEN 'yest'
     WHEN dayStart LIKE '2012-06-12%' THEN 'tomor'
  END as dayType
FROM dayBook
WHERE userID = 1
于 2012-06-11T16:16:57.707 回答
0

我对你的问题感到困惑。如果您想更改 UNIX_TIMESTAMP 的值,您可以执行 UPDATE dayBook SET UNIX_TIMESTAMP(dayStart) = 'Today' WHERE dayStart = '2012-06-11%' 并对其他值执行相同操作。

于 2012-06-11T16:17:33.493 回答
0

您需要使用动态 SQL。

于 2012-06-11T16:12:03.547 回答