2つの日付(日時)値の差を計算する
文書番号:20518
2つの日付型データの差を求める関数です。
開始日から終了日まで何ヶ月経過したか、何日経過したか、
開始時刻から終了時刻まで何時間、何秒経過したかなどを計算します。
【関数】
DATEDIFF(求める要素,開始日(開始日時),終了日(終了日時))
【戻り値】
結果 | 説明 |
---|---|
日付(日時)の差 | 2つのデータの差を指定した要素(日や時間)などで取得します。 |
【求める要素】
求める要素 | 長い形式 | 省略形 |
---|---|---|
年 | year | yyyy,yy |
3ヶ月 | quarter | qq,q |
月 | month | mm,m |
日 | day | dd,d |
週 | week | wk,ww |
時間 | hour | hh |
分 | minute | mi,n |
秒 | second | ss,s |
【サンプル】
2016/1/1から今日(GETDATE())までの日数を計算します。
SELECT datediff(day,'2016/1/1',getdate())
プロシージャの処理時間(秒)を計測します。
BEGIN
-- 開始時刻を保持
DECLARE @START datetime = GETDATE();
-- =================================
-- 実行する処理
-- =================================
-- 終了時刻を保持
DECLARE @END datetime = GETDATE();
-- 経過時間(秒)を計算する
SELECT datediff(second ,@START ,@END);
END