SQL Server将bigint中的日期与当前日期进行比较

时间:2012-10-03 14:24:14

标签: sql-server sql-server-2008

我在数据库中存储了一个日期/时间字段作为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));

1 个答案:

答案 0 :(得分:0)

你可以尝试:

   select  
        datediff(day, CONVERT(DATE, DATEADD(ms, dateInBigint, '19700101'), 102), 
                      CONVERT(date, getdate(),102)); 

可能会快一点。

相关问题