日付の計算

中級 SQL Server

Ginger Grant

Instructor

DATEPART

DATEPART は計算対象の日付部分を指定します。主な省略形は以下のとおりです。

  • DD:日
  • MM:月
  • YY:年
  • HH:時
中級 SQL Server

T-SQLの主な日付関数

  • DATEADD():日時の加算・減算
    • 常に日付を返す
  • DATEDIFF():2つの日時の差を取得
    • 常に数値を返す
中級 SQL Server

DATEADD

新しい日付を取得するには DATEADD() を使用します。

DATEADD (DATEPART, number, date) 
  • DATEPART: 単位(DD、MMなど)
  • number: 加算する整数値
  • date: 日時の値
中級 SQL Server

DATEADDによる日付計算(I)

2020年6月21日から30日後の日付は?

SELECT DATEADD(DD, 30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-07-21 00:00             | 
+-----------------------------+
中級 SQL Server

DATEADDによる日付計算(II)

2020年6月21日の30日前の日付は?

SELECT DATEADD(DD, -30, '2020-06-21')
+-----------------------------+ 
|(No Column Name)             | 
|-----------------------------+ 
|2020-05-22 00:00             | 
+-----------------------------+
中級 SQL Server

DATEDIFF

2つの日付の差を返す

DATEDIFF (datepart, startdate, enddate) 
  • datepart: 単位(DD、MMなど)
  • startdate: 開始日付の値
  • enddate: 終了日時の値
中級 SQL Server

DATEDIFFによる日付計算

SELECT DATEDIFF(DD, '2020-05-22', '2020-06-21') AS Difference1,
       DATEDIFF(DD, '2020-07-21', '2020-06-21') AS Difference2
+--------------------+--------------------+ 
|Difference1         |Difference2         |
+--------------------+--------------------+
|30                  |-30                 |
+--------------------+--------------------+
中級 SQL Server

練習しましょう!

中級 SQL Server

Preparing Video For Download...