0

データベースに BIGINT として格納されている日付/時刻フィールドがあります。データベース内の日付が現在の日付から 30 日より古いレコードを取得する必要があります。私は以下を試しましたが、うまくいきます。

それを達成するためのより良い/より簡単な方法はありますか?

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

例えば:

select 
   datediff(day, CONVERT(DATE, DATEADD(s, 1348986702000 / 1000, '19700101'), 102),
                 CONVERT(date, getdate(), 102));
4

1 に答える 1

0

あなたは試すことができます:

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

少し速いかもしれません。

于 2012-10-03T14:50:04.647 に答える