この投稿には、SQL Serverで使用可能なTransact-SQLの日付と時刻の関数のリストが含まれています(SQL Server 2017以降)。
これには、日付または日付の一部を返す関数、および日付を操作および/またはフォーマットする関数が含まれます。
システムの日付/時刻の値
次の関数は、システムの日付と時刻を返します。これらの関数によって返される日付/時刻の値はすべて、SQLServerのインスタンスが実行されているオペレーティングシステムから取得されます。
より高い精度
- SYSDATETIME()
- SYSDATETIMEOFFSET()
- SYSUTCDATETIME()
低精度
- CURRENT_TIMESTAMP
- GETDATE()
- GETUTCDATE()
返品日時パーツ
これらの関数は、指定した日付から、指定した日付の該当する部分を返します。
たとえば、MONTH()
を使用できます 指定された日付の月コンポーネントを返します。
- DATENAME( datepart 、日付 )
- DATEPART( datepart 、日付 )
- 日(日付 )
- 月(日付 )
- 年(日付 )
パーツから日付/時刻の値を返す
これらの関数を使用すると、日付/時刻を構成するさまざまな部分から日付や時刻の値を作成できます。さまざまな部分を指定するだけで、関数は該当するデータ型の日付/時刻を返します。
たとえば、年、月、日の値をDATEFROMPARTS()
に渡すことができます。 関数であり、日付を返します それらの部分で構成される価値。
- DATEFROMPARTS(年 、月 、日 )
- DATETIME2FROMPARTS(年 、月 、日 、時間 、分 、秒 、分数 、精度 )
- DATETIMEFROMPARTS(年 、月 、日 、時間 、分 、秒 、ミリ秒 )
- DATETIMEOFFSETFROMPARTS(年 、月 、日 、時間 、分 、秒 、分数 、 hour_offset 、 minutes_offset 、精度 )
- SMALLDATETIMEFROMPARTS(年 、月 、日 、時間 、分 )
- TIMEFROMPARTS(時間 、分 、秒 、分数 、精度 )
2つの日付/時刻値の差を返す
次の関数を使用して、2つの異なる日付/時刻値の差を返すことができます。
- DATEDIFF( datepart 、 startdate 、終了日 )
- DATEDIFF_BIG( datepart 、 startdate 、終了日 )
これらの関数は基本的に同じことを行うことに注意してください。違いは戻り値にあります。
日付/時刻の値を変更する
- DATEADD( datepart 、番号 、日付 )
- EOMONTH( start_date [、 month_to_add ])
- SWITCHOFFSET( DATETIMEOFFSET 、 time_zone )
- TODATETIMEOFFSET(式 、 time_zone )
セッションフォーマット関数の設定または返却
- @@ DATEFIRST
- SET DATEFIRST { number | @ number_var }
- SET DATEFORMAT { format | @ format_var }
- @@ LANGUAGE
- 言語の設定{[N]‘ 言語 ‘ | @ language_var }
- sp_helplanguage [[ @language = ] ‘ 言語 ‘ ]
日付/時刻の値を検証する
この関数を使用すると、渡された引数に有効な日付または時刻の値があるかどうかを確認できます。
- ISDATE(式 )
関連機能/記事
- 日付と時刻のODBCスカラー関数
- SQLServerで日付と時刻をフォーマットする方法