我在SQL Server 2008 R2数据库中有一个名为“Messages”的表。此表中的一列是TimeSent
time(7)
类型。
有时,此列值为00:00:00.0000000
表中的几行,如下面的屏幕截图所示。
我的问题是:如何编写查询以获取列TimeSent
中所有行的零时间(非空)?我试过的下面的查询不起作用。
SELECT * FROM Messages WHERE TimeSent = 0
更新1:
虽然marc_s的答案是公认的答案,但我还发现了另一种在SQL Server 2008 R2中检查零时间的方法,如下面的代码所示。
DECLARE @zeroTime AS time(7);
SET @zeroTime = CAST('20140101' AS time(7));
SELECT * FROM Messages WHERE TimeSent = @zeroTime;
答案 0 :(得分:1)
SELECT * from Messages
WHERE timesent = TIMEFROMPARTS (0,0,0,0,0)
答案 1 :(得分:1)
怎么样
SELECT *
FROM Messages
WHERE TimeSent = '00:00:00.0000000'
这有用吗?