SQL Server 日付や時間分の差分を取得する
- 作成日 2021.11.22
- Sql Server
- SQL Server
SQL Serverで、日付や時間分の差分を取得する手順を記述してます。
環境
- OS windows10 pro
- SQL server 2019
- SSMS 18.7.1
日差分を取得
日付や時間分などの時間に関する差分を取得する場合は、「DATEDIFF」を使用します。
DATEDIFF(単位, 値1, 値2)
値2 - 値1 の差分が取得されます。
単位には、以下のものが使用できます。
- year(yy or yyyy) : 年
- quarter(qq or q) : 四半期
- month(mm or m) : 月
- day(dd, d) : 日
- week(wk, w) : 週
- dayofyear(dy or y) : 年始からの日数
- weekday(dw) : 曜日
- hour(hh) : 時
- minute(mi or n) : 分
- second(ss) : 秒
- millisecond(ms, s) : ミリ秒
実際に、使用してみます。
DECLARE @t1 datetime = N'2000-01-01 00:00:00'
DECLARE @t2 datetime = N'2000-01-11 00:00:00'
SELECT DATEDIFF(hour, @t1, @t2),
DATEDIFF(day, @t1, @t2)
実行結果
各単位ごとに差分が取得されていることが確認できます。
値2の方が過去になっていれば、マイナスで表示されます。
DECLARE @t1 datetime = N'2000-01-01 00:00:00'
DECLARE @t2 datetime = N'1999-01-01 00:00:00'
SELECT DATEDIFF(hour, @t1, @t2),
DATEDIFF(day, @t1, @t2)
実行結果
また、差分が1以下であれば、計算結果は「0」となります。
DECLARE @t1 datetime = N'2000-01-01 00:00:00'
DECLARE @t2 datetime = N'2000-01-02 00:00:00'
SELECT DATEDIFF(month, @t1, @t2)
実行結果
-
前の記事
php 最大公約数を求める「作成した関数」と「gmp_gcd」のパフォーマンスを計測する 2021.11.22
-
次の記事
Rocky Linux サーバー管理ツール「Ajenti」を構築する 2021.11.22
コメントを書く