当日の午後 4 時 30 分を取得したいと思います。この方法でのハードコーディングは機能しません:
SELECT '07242012 16:30:00.000'
これは、私が思っていたよりも難しいことが証明されています。どうすればこれにアプローチできますか?
当日の午後 4 時 30 分を取得したいと思います。この方法でのハードコーディングは機能しません:
SELECT '07242012 16:30:00.000'
これは、私が思っていたよりも難しいことが証明されています。どうすればこれにアプローチできますか?
SQL サーバー 2000/2005:
SELECT DATEADD(MINUTE, 30, DATEADD(HOUR, 16, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP)));
-- or
SELECT DATEADD(MINUTE, (16*60) + 30, DATEDIFF(DAY, 0, CURRENT_TIMESTAMP))
-- or
SELECT CONVERT(DATETIME, CONVERT(CHAR(9), CURRENT_TIMESTAMP, 112) + '16:30');
SQL Server 2008 以降:
SELECT CONVERT(DATETIME, CONVERT(DATE, CURRENT_TIMESTAMP)) + '16:30';
SQL サーバー 2012:
SELECT SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 16, 30);
select(dateadd(day, datediff(day, 0, getdate()), 0) + '20:00') as specified_date
specified_date - 出力列名
20:00 - 指定時間 (24 時間形式 - デフォルト)
getdate() - 今日の日付を取得します。