将UTC NOW与日期字段T-SQL进行比较

时间:2014-06-13 12:30:36

标签: sql sql-server tsql datetime

我有一个datetime字段,其值为2014-06-12 23:17:39.657

我需要检查此日期是否小于当前UTC时间。

我试过了:

SELECT *
FROM Table_Name
WHERE expire_time > GETUTCDATE()

这是代码,是存储过程的一部分,并且无法按预期工作。它返回所有记录,即使有几行Table.expire_time> UTCNOW。

如何检索表中过期日期大于UTC时间的所有记录?

1 个答案:

答案 0 :(得分:1)

以下选项返回预期值:

select case when (cast('2014-06-14 T11:01:50.000' as datetimeoffset) > getutcdate()) then '1' else '0'end
select case when (cast('2014-06-14' as datetime) > getutcdate()) then '1' else '0'end

请注意有未来的日期(至少对我而言)

我会帮你检查你的环境变量,例如你的时钟和它的同步......也许expire_time不是你认为的那样......还有,首先尝试静态值进一步调查。 ..