我在数据库中存储了一个日期/时间字段作为BIGINT。我需要检索数据库中的日期早于当前日期30天的记录。我尝试了以下它,它的工作原理。
有没有更好/更简单的方法来实现它?
select
datediff(day, CONVERT(DATE, DATEADD(s, dateInBigint / 1000, '19700101'), 102),
CONVERT(date, getdate(),102));
e.g:
select
datediff(day, CONVERT(DATE, DATEADD(s, 1348986702000 / 1000, '19700101'), 102),
CONVERT(date, getdate(), 102));
答案 0 :(得分:0)
你可以尝试:
select
datediff(day, CONVERT(DATE, DATEADD(ms, dateInBigint, '19700101'), 102),
CONVERT(date, getdate(),102));
可能会快一点。