2016-04-27 6 views
-1

テーブルに2つのdatetime列があり、それぞれの行を別の行から減算して、結果をintとして新しい第3列の行に挿入します。2つの列からdatetimeを引いて、結果を3番目の整数として返します。

何とかDATEFIFFを使用しなければならないことは知っていますが、テーブルの各行(おそらくループ)をどのように解析するのですか?

ありがとうございました!

+0

SQLのように考えるのではなく、カーソルベースのアプローチではなく、セットベースのアプローチを使用します。 select文にDATEDIFF関数を追加するだけで、テーブルの各行に適用されます。 –

+0

タグdbmsが使用されました! (datediffは製品固有の機能です) – jarlh

答えて

0

Date1ColumnとDate2Columnがdatetimeフィールドであると仮定してSQL 2008から移動する例。私は分、日、月の日付間のデルタを示すいくつかの例を挙げました。

Select 

    ,CAST(DATEDIFF(mi, Date1Column, Date2Column) as int) as 'DeltaMinutes' 
    ,CAST(DATEDIFF(day, Date1Column, Date2Column) as int) as 'DeltaDays' 
    ,ISNULL(DATEDIFF(MONTH, Date1Column, Date2Column), -9999) as 'LastSWAge' 

From Table 
+0

ありがとうございました。 – grunf00

関連する問題