我有以下值,需要将时间硬编码为新值:
目前:
2016-10-11 06:00:00.000
新:
2016-10-11 21:00:00.000
由于系统限制,必须使用SELECT语句。
输入值可以是任何小时,分钟或秒(00:00:00至23:59:59),但输出值应始终为硬编码值21:00:00
答案 0 :(得分:1)
select dateadd(HOUR, 15, '2016-10-11 06:00:00.000') as new,
TO_DATE('2016-10-11 06:00:00.000') AS current
答案 1 :(得分:0)
您可以使用dateadd在日期时间中添加小时数。
E.g。
select dateadd(hh, 15, '2016-10-11 06:00:00.000'); -- output 2016-10-11 21:00:00.000
答案 2 :(得分:0)
我用下面的陈述想出来了:
CONVERT(datetime,LEFT(CONVERT(nvarchar(20),DateCreated,20),10)+' 09:00:00',120)AS DateCreatedHardCoded
细分:
答案 3 :(得分:0)
我会建议:
select dateadd(hour, 21, cast(datecol as date))
cast(datecol as date)
删除时间组件。然后,dateadd()
会增加21个小时。
答案 4 :(得分:0)
select SUBSTRING(CAST(Currently AS varchar),0,11)+' 21:00:00.000' AS New from tableName