从昨天下午5点开始查询
Declare @DATEFROM DATETIME=CONVERT(VARCHAR(10),GETDATE()-1,103) + '17:00:00.00'
select @DATEFROM
期待2018-02-05 17:00:00
从字符串转换日期和/或时间时转换失败。
SQL Server 2008.需要格式yyyy-mm-dd(2018-02-05 17:22:00.000)
答案 0 :(得分:1)
使用Declare @DATEFROM DATETIME=dateadd(hh,17,CONVERT(VARCHAR(10),GETDATE()-1,103))
select @DATEFROM
:
Declare @DATEFROM DATETIME=CONVERT(VARCHAR(10),GETDATE()-1,103) + cast('17:00:00.00' as datetime)
select @DATEFROM
或者如果您必须添加日期字符串,请先将其转换为日期时间:
npm install material-ui@latest
答案 1 :(得分:1)
易于实施:
SELECT DATEADD(HOUR, 17, GETDATE()-1 - CAST(getDate() as time))
答案 2 :(得分:0)
您必须先获取varchar然后再转换回日期时间
Declare @DATEFROM varchar(22) = CONVERT(VARCHAR(10),GETDATE()-1,103) + ' 17:00:00.00'
select CAST(@DATEFROM AS datetime)
答案 3 :(得分:0)
我不确定你想要完成什么,但是这将产生你正在寻找的时间索引的日期,除非特别指出你昨天可以用1替换前0的日期/ p>
declare @date datetime = dateadd(day, datediff(day, 0, sysdatetime()), 0) + .70833333333333333333
select @date
答案 4 :(得分:0)
declare @dateFrom datetime=cast(dateAdd(dd, - 1,cast(getDate() as date) ) as datetime) +'17:00:00'