SQLServer 日時の計算と年月日のみ表示

SQL Serverの日時の計算と年月日のみ表示のサンプルです。

目次

サンプル 日時の計算
  現在日時のGETDATE()を使用する
  書式を設定する(年月日のみ表示)

日時の計算

DateAdd(キーワード,数値,日付)
select DATEADD(YEAR,3,'2021-06-01')--2024-06-01 00:00:00.000
select DATEADD(MONTH,3,'2021-06-01')--2021-09-01 00:00:00.000
select DATEADD(DAY,3,'2021-06-01')--2021-06-04 00:00:00.000
select DATEADD(HOUR,3,'2021-06-01 13:00:00')--2021-06-01 16:00:00.000
select DATEADD(MINUTE,3,'2021-06-01 13:00:00')--2021-06-01 13:03:00.000
select DATEADD(SECOND,3,'2021-06-01 13:00:00')--2021-06-01 13:00:03.000

1~3行目は、3つめの引数の2021年6月1日に対してそれぞれ3年、3月、3日を加算しています。
2つめの引数がマイナスであれば引き算になります。
4~6行目は、時分秒の計算をしています。それぞれ3時間、3分、3秒を加算しています。

 

現在日時のGETDATE()を使用する

GETDATE()は、現在日時を返します。上記の日付の計算にも使用できます。

select GETDATE()--2021-06-09 01:21:40.900
select DATEADD(DAY,3,GETDATE())--2021-06-12 01:21:19.377

2行目は、現在日時から3日後を返します。

 

書式を設定する(年月日のみ表示)

Format(日付,フォーマット)
select FORMAT(GETDATE(),'yyyy-MM-dd')--2021-06-09
select FORMAT(DATEADD(DAY,3,GETDATE()),'yyyy/MM/dd')--2021/06/12
select FORMAT(GETDATE(),'yyyyMMdd')--20210609
select FORMAT(GETDATE(),'yyyy年MM月dd日')--2021年06月09日

フォーマットの月の指定のMMは大文字です。年と日のyyyyとddは小文字です。

関連の記事

SQLServer 文字列を切り出す(SUBSTRING)

△上に戻る