Joh*_*rum 8 sql-server sql-server-2008-r2
我想在当天下午4点半到达.这种硬编码不起作用:
SELECT '07242012 16:30:00.000'
Run Code Online (Sandbox Code Playgroud)
事实证明这比我想象的要困难得多.我该如何处理?
Aar*_*and 22
SQL Server 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');
Run Code Online (Sandbox Code Playgroud)
SQL Server 2008+:
SELECT CONVERT(DATETIME, CONVERT(DATE, CURRENT_TIMESTAMP)) + '16:30';
Run Code Online (Sandbox Code Playgroud)
SQL Server 2012:
SELECT SMALLDATETIMEFROMPARTS(YEAR(GETDATE()), MONTH(GETDATE()), DAY(GETDATE()), 16, 30);
Run Code Online (Sandbox Code Playgroud)