以下の表 1 に示す単純なデータ セットがあります。START_SHIFT_DT_TIME
表 1 の列を使用して 2 つの新しい列 (および) を生成したいと考えEND_SHIFT_DT_TIME
ています。目的の出力を表 2 に示します。
要件は次のとおりです。
- 時間が 22:00:00 以降に始まる場合
START_SHIFT
、実際の開始日は前日になります。 - 開始時間が 22:00:00 より前の場合
START_SHIFT
、実際の開始日は翌日になります。
SQL サーバーを使用しています。
表 1 :
START_SHIFT END_SHIFT DATE
22:00:00 06:00:00 1/13/2012 12:00:00 AM
07:00:00 15:00:00 1/13/2012 12:00:00 AM
23:30:00 07:30:00 2/27/2012 12:00:00 AM
00:00:00 08:00:00 2/17/2012 12:00:00 AM
17:00:00 01:00:00 1/1/2012 12:00:00 AM
表 2 :
START_SHIFT END_SHIFT DATE START_SHIFT_DT_TIME END_SHIFT_DT_TIME
22:00:00 06:00:00 1/13/2012 12:00:00 AM 1/12/2012 10:00:00 PM 1/13/2012 6:00:00 AM
07:00:00 15:00:00 1/13/2012 12:00:00 AM 1/13/2012 7:00:00 AM 1/13/2012 3:00:00 PM
23:30:00 07:30:00 2/27/2012 12:00:00 AM 2/26/2012 11:30:00 PM 2/27/2012 7:30:00 AM
00:00:00 08:00:00 2/17/2012 12:00:00 AM 2/17/2012 12:00:00 AM 2/17/2012 8:00:00 AM
17:00:00 01:00:00 1/1/2012 12:00:00 AM 1/1/2012 5:00:00 PM 1/2/2012 1:00:00 AM