SQL Server:SQL Serverで使用できる日付関数のサンプルプログラムのまとめ

SQL Server の日付関連組み込み関数の一覧と日付関連関数のサンプルプログラムをまとめて覚書。

SQL Serverが実装している日付関連の組み込み関数の一覧と用途、各関数の使用例(サンプルプログラム)について覚書。

日付関連の組み込み関数の一覧

日付関連の組み込み関数の一覧は以下のとおり。

日付関数意味
Dateadd(datepart , number, date )引数で指定された間隔で指定した分だけ加算(マイナス値の場合は、減算)した値を返す。
Datediff(datepart , startdate , enddate)引数で指定された間隔で2つの日付の差を返す。
Datename(datepart ,date)引数で指定された単位の文字列を返す。
Datepart(datepart ,date)引数で指定された単位の数値を返す。
Getdate()今日の日時を返す。
Getutcdate()今日の日時を返す。(万国標準時での日付を返す)
Year(date)指定した日付の年を数値で返す。
Month(date)指定した日付の月を数値で返す。
Day(date)指定した日付の日を数値で返す。

Datepart関数のdatepart引数について

Datepart関数のdatepart引数についての詳細は以下のとおり。

datepart引数省略形意味
yearyy,yyyy
quarterqq,q四半期
monthmm,m
dayofyeardy,y年始からの日数
dayofyeardd,d
weekwk,ww
weekdaydw,w曜日
hourhh
minutemi,n
secondss,s
millisecondmsミリ秒

各日付関数の使用例

各関数の使用例(Getdate()で取得される日付が、2006/12/5だった場合。)

例1.1年後の今日の日付

結果:2007/12/5

例2.今日から2007/1/8まで何週間あるか

結果:5(5週間の間隔があるという意味)が返る。

例3.今日は何曜日?

結果:火曜日

曜日を省略形で表示したい場合の例

結果:火

例4.1/1から数えて今日は何日目?

結果:339

例5.今日は西暦何年?

結果:2006

例6.今日は何月?

結果:12

例7.今日は何日?

結果:5

その他SQL Serverの日付操作関連記事について

SQL Serverの日付を扱った記事を他にいくつか書いているので紹介しておきます。

SQL Serverで指定した日付が休日(祝祭日、土日)かどうかをチェックするユーザー定義関数を作ったので覚書しておく。
SQL Serverの日付時刻データから時刻部分を取り除いて時刻を00:00:00にする方法について覚書。
SQL Serverで月末日や月初(1日)の日付を求める式、20日締めなどの締め日を基準とした集計期間の集計を求めるユーザー定義関数...
SQL Serverの日付時刻型(DateTime型)のデータを指定したフォーマット(書式)に変換してくれるユーザー定義関数のサンプ...