難しくはないけど、思い出すのは大変なんですね。
キーワード
WHEN THEN END 列名
CONVERT(VARCHAR,[LDatetime],108)
CONVERT(Date,CONVERT(varchar,[LDatetime],111))
日付時刻は 深夜24時で、日付が変更されますが、
実際の稼働日は、朝6時 や 朝8時30分 に 日付が変更されます。
そんなとき、利用するのが、日付時刻を判断して、日付を変更することです。
以下の例は、日付時刻(LDateTime)を 8:30で日付変更しています。
変更後の列名を WorkDay
-----------------------
select[AAA]
,CASE WHEN CONVERT(VARCHAR,[LDatetime],108) >= convert(varchar,'08:30:00',108) THEN CONVERT(Date,CONVERT(varchar,[LDatetime],111))
WHEN CONVERT(VARCHAR,[LDatetime],108) < convert(varchar,'08:30:00',108) THEN CONVERT(Date,CONVERT(VARCHAR,[LDatetime]-1,111)) END WorkDay
from dbo.tbl
---------------------