日付/時刻型のデータを扱い、今日の日時や期間(時間や日数、年数)を計算する関数です。
- 現在の日時を取得~GETDATE -
機能:現在の日付と時刻を日付時刻形式で返します。
書式:GATDATE()
戻り値:日付/時刻型
- 日時の差(期間)を計算~DATEDIFF
-
機能:2つの日付/時刻データの差を返します。
書式:DATEDIFF (<形式>, <開始>, <終了>)
引数
<
形式>:取得したい日時データの形式を、以下の記号で指定します。
年 yy、yyyy
月 mm、m
日 dd、d
週 wk、ww
時 hh
分 mi、n
秒 ss、s
ミリ秒 ms
<
開始>:計算の開始日時
<
終了>:計算の終了日時
戻り値:int型
例:テーブル「得意先_mr」から顧客の現在の年齢を表示します。
SELECT お客様ID, 氏名, DATEDIFF(yy, 生年月日, GETDATE()) AS 年齢
FROM 得意先_mr
- 日時を加算~DATEADD -
機能:日付/時刻に指定した期間を加えた新しい日付/時刻を返します。
書式:DATEADD (<形式>, <期間>, <開始>)
引数
<
形式>:取得したい日時データの形式を、以下の記号で指定します。
年 yy、yyyy
月 mm、m
日 dd、d
週 wk、ww
時 hh
分 mi、n
秒 ss、s
ミリ秒 ms
<
期間>:加算する日時
<
開始>:加算対象の日時
戻り値:日付/時刻型
- 特定要素の取り出し~DATEPART -
機能:日付/時刻型データから年のみ、月のみなど指定した部分だけを取り出して返します。
書式:DATEPART(<形式> ,<日時>)
引数
<
形式>:取得したい日時データの形式を、以下の記号で指定します。
年 yy、yyyy
月 mm、m
日 dd、d
週 wk、ww
時 hh
分 mi、n
秒 ss、s
ミリ秒 ms
<
日時>:取り出す元になる日時データ
戻り値:int型
例:テーブル「得意先_mr」から顧客の生まれた年(西暦年)だけを表示します。
SELECT お客様ID, 氏名, DATEPART(yyyy, 生年月日) AS 生年
FROM 得意先_mr
また、WHERE句の条件式に用いれば「10月生まれの顧客」だけを抽出することもできます。
SELECT お客様ID, 氏名
FROM 得意先_mr
WHERE DATEPART(mm, 生年月日) = 10
- 特定要素の取り出し~DAY、MONTH、YEAR -
日付データから特定の要素を取り出す関数には、DAY、MONTH、YEARの3つがあります。
・DAY
機能:指定した日付の「日」を返します。
書式:DAY(<日付>)
戻り値:int型
・MONTH
機能:指定した日付の「月」を返します。
書式:MONTH(<日付>)
戻り値:int型
・YEAR
機能:指定した日付の「年」を返します。
書式:YEAR(<日付>)
戻り値:int型
これらはDATEPART関数のシノニム(互換性維持のための置き換え)であり、それぞれ以下のような関係になっています。
DAY(<日付>) = DATEPART(dd, <日付>)
MONTH(<日付>) = DATEPART(mm, <日付>)
YEAR(<日付>) = DATEPART(yy, <日付>)
|
|
|