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

2つの列を返すだけではどうでしょうか。1つは日付を示し、もう1つは今日か昨日か明日かを示します。

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

動的SQLを使用する必要があります。

于 2012-06-11T16:12:03.547 に答える
0

私はあなたの質問に混乱しています。UNIX_TIMESTAMPの値を変更する場合は、UPDATE dayBook SET UNIX_TIMESTAMP(dayStart)='Today' WHERE dayStart = '2012-06-11%'を実行し、他の値についても同じことを実行できます。

于 2012-06-11T16:17:33.493 に答える