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引数 | 省略形 | 意味 |
---|---|---|
year | yy,yyyy | 年 |
quarter | qq,q | 四半期 |
month | mm,m | 月 |
dayofyear | dy,y | 年始からの日数 |
dayofyear | dd,d | 日 |
week | wk,ww | 週 |
weekday | dw,w | 曜日 |
hour | hh | 時 |
minute | mi,n | 分 |
second | ss,s | 秒 |
millisecond | ms | ミリ秒 |
各日付関数の使用例
各関数の使用例(Getdate()で取得される日付が、2006/12/5だった場合。)
例1.1年後の今日の日付
dateadd(yyyy,1,getdate())
結果:2007/12/5
例2.今日から2007/1/8まで何週間あるか
datediff(week,getdate(),'2007-1-8')
結果:5(5週間の間隔があるという意味)が返る。
例3.今日は何曜日?
datename(weekday,getdate())
結果:火曜日 曜日を省略形で表示したい場合の例
left(datename(weekday,getdate()),1)
結果:火
例4.1/1から数えて今日は何日目?
datepart(dayofyear,getdate())
結果:339
例5.今日は西暦何年?
year(getdate())
結果:2006
例6.今日は何月?
month(getdate())
結果:12
例7.今日は何日?
day(getdate())
結果:5
その他SQL Serverの日付操作関連記事について
SQL Serverの日付を扱った記事を他にいくつか書いているので紹介しておきます。
SQL Server:指定した日付が休日(祝祭日、土日)かどうかをチェックするユーザー定義関数
SQL Serverで指定した日付が休日(祝祭日、土日)かどうかをチェックするユーザー定義関数を作ったので覚書しておく。
SQL Server:日付時刻データから時刻部分を取り除いて時刻を00:00:00にする。
SQL Serverの日付時刻データから時刻部分を取り除いて時刻を00:00:00にする方法について覚書。
SQL Server:日付を求める式のサンプル(月末、月の1日、締め)及びユーザー定義関数
SQL Serverで月末日や月初(1日)の日付を求める式、20日締めなどの締め日を基準とした集計期間の集計を求めるユーザー定義関数とそのサンプルSQLを覚書データベースのデータを基に月初(1日)から月末までのデータを集計することはよくある...
SQL Server:指定したフォーマットで日付時刻を表示するユーザー定義関数(FormatDateTime)の作成方法
SQL Serverの日付時刻型(DateTime型)のデータを指定したフォーマット(書式)に変換してくれるユーザー定義関数のサンプルコード。SQL ServerにはExcelやAccessに用意されているFormat関数がない。それを解決...
コメント