MYSQL-SELECT语句,可以根据条件命名结果

MYSQL-SELECT语句,可以根据条件命名结果,mysql,sql,select,Mysql,Sql,Select,我想构造一个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) a

我想构造一个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

您需要使用动态SQL。

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

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

我对你的问题感到困惑。如果要更改UNIX_TIMESTAMP的值,可以执行更新dayBook设置UNIX_TIMESTAMP(dayStart)=“Today”,其中dayStart=“2012-06-11%”,并对其他设置执行相同操作