GETDATE()
関数は現在の日付と時刻を日時として返します 価値。この値は、SQLServerのインスタンスが実行されているコンピューターのオペレーティングシステムから取得されます。
この記事では、GETDATE()
の例を示します。 関数。他の関数と一緒に使用して、関心のある値を返す方法を含みます。
構文
まず、構文は次のとおりです。
GETDATE ( )
したがって、引数なしでこの関数を呼び出すだけです。
例
SELECT
を使用する基本的な例を次に示します。 GETDATE()
から現在の日付と時刻を返すステートメント :
SELECT GETDATE() AS Result;
結果:
+-------------------------+ | Result | |-------------------------| | 2018-06-15 23:54:42.013 | +-------------------------+
したがって、前述のように、日時を返します 価値。秒の分数精度が高い値が必要な場合は、SYSDATETIME()
を使用してください 代わりは。その関数はdatetime2を返します 値。
日付の一部を抽出
戻り値の一部のみが必要な場合は、DATEPART()
を使用できます。 興味のある日時のその部分だけを返します。
例:
SELECT DATEPART(month, GETDATE()) AS Result;
結果:
+----------+ | Result | |----------| | 6 | +----------+
SQLServerで同じ結果を得る方法が複数ある場合があります。 MONTH()
を使用した別の例を次に示します。 機能:
SELECT MONTH(GETDATE()) AS Result;
結果:
+----------+ | Result | |----------| | 6 | +----------+
これらの関数は両方とも現在の月を返します。ただし、月番号を表す整数として返されます。
月の名前が必要な場合 代わりに、DATENAME()
を使用できます。 :
SELECT DATENAME(month, GETDATE()) AS Result;
結果:
+----------+ | Result | |----------| | June | +----------+
日付をフォーマットする
他のT-SQL関数を使用して、必要に応じて日付をフォーマットすることもできます。
FORMAT()
の使用例を次に示します。 結果をフォーマットする関数:
SELECT FORMAT(GETDATE(), 'd', 'en-US') AS 'd, en-US', FORMAT(GETDATE(), 'd', 'en-gb') AS 'd, en-gb', FORMAT(GETDATE(), 'D', 'en-US') AS 'D, en-US', FORMAT(GETDATE(), 'D', 'en-gb') AS 'D, en-gb';
結果:
+------------+------------+-----------------------+--------------+ | d, en-US | d, en-gb | D, en-US | D, en-gb | |------------+------------+-----------------------+--------------| | 6/15/2018 | 15/06/2018 | Friday, June 15, 2018 | 15 June 2018 | +------------+------------+-----------------------+--------------+
SQLServerで日付と時刻をフォーマットする方法のその他の例。
値を増やして違いを見つける
DATEDIFF()
のような関数を使用できます 現在の日付と別の日付の差を返します。
DATEADD()
の使用例を次に示します。 現在の日付に月を追加してから、日数の違いを確認するには:
DECLARE @date1 datetime2 = GETDATE(); DECLARE @date2 datetime2 = DATEADD(month, 1, GETDATE()); SELECT DATEDIFF(day, @date1, @date2) AS Result;
結果:
+----------+ | Result | |----------| | 30 | +----------+