日期值的时候,我有以下值,需要硬编码的时间为一个新值:SQL - 怎样才能硬编码在SELECT语句
目前:
2016年10月11日06:00:00.000
新:
2016年10月11日21:00:00.000
由于系统限制,必须使用SELECT语句。
输入值可以是任何小时,分钟或秒(00:00:00至23:59:59),但输出值应始终的21点00分00秒
日期值的时候,我有以下值,需要硬编码的时间为一个新值:SQL - 怎样才能硬编码在SELECT语句
目前:
2016年10月11日06:00:00.000
新:
2016年10月11日21:00:00.000
由于系统限制,必须使用SELECT语句。
输入值可以是任何小时,分钟或秒(00:00:00至23:59:59),但输出值应始终的21点00分00秒
我计算出来与以下语句:
CONVERT(日期时间,LEFT(CONVERT(nvarchar的(20),dateCreated会,20),10)+' 09: 00:00' ,120)AS DateCreatedHardCoded
分拆下:
您可以使用dateadd在datetime中添加小时。
E.g.
select dateadd(hh, 15, '2016-10-11 06:00:00.000'); -- output 2016-10-11 21:00:00.000
select dateadd(HOUR, 15, '2016-10-11 06:00:00.000') as new,
TO_DATE('2016-10-11 06:00:00.000') AS current
我建议这样的:
select dateadd(hour, 21, cast(datecol as date))
cast(datecol as date)
删除时间组件。 dateadd()
然后增加21个小时的日期。
select SUBSTRING(CAST(Currently AS varchar),0,11)+' 21:00:00.000' AS New from tableName
谢谢,我已经更新了这个问题。 –
你想在今天的日期计算'21:00:00'吗? ('选择DateAdd(小时,21,Cast(Cast(GetDate()作为Date)作为DateTime))') – HABO