SQL Server中没有TO_CHAR
。如果您需要传递日期,请使用ISO格式yyyyMMdd
或yyyy-MM-ddThh:mm:ss.sssssss
或仅使用hh:mm:ss.sssssss
的时间。
但是,看起来您似乎拥有今天的价值(我假设是current_date
的价值),看起来您想要这样:
SELECT *
FROM Production
WHERE Time_Stamp >= DATEADD(DAY,DATEDIFF(DAY,GETDATE()),0)
AND Time_Stamp < DATEADD(HOUR,7,DATEADD(DAY,0));
,
您可以使用cast()
SELECT *
FROM Production
WHERE cast(Time_Stamp as date) = cast(getdate() as date)
AND cast(Time_STAMP as time(0)) BETWEEN "00:00:00" AND "07:00:00"
,
另一种方法是:
SELECT *
FROM Production
WHERE Time_Stamp >= CONVERT(DATE,GETDATE()) AND
Time_Stamp < DATEADD(HOUR,1,CONVERT(datetime,CONVERT(DATE,GETDATE())));
采用这种格式,可以将TIME_STAMP
上的索引用于数据和时间的比较。
本文链接:https://www.f2er.com/3153602.html