SYSUTCDATETIME()
およびGETUTCDATE()
SQLServerで使用できる2つのT-SQL日付/時刻関数です。これらの関数は、SQLServerのインスタンスが実行されているコンピューターの日付と時刻を返します。どちらの関数も、日付と時刻をUTC時刻(協定世界時)として返します。
したがって、両方の関数は同じことを行います。ほとんど。
これら2つの機能の違いは次のとおりです。
-
GETUTCDATE()
その値を日時として返します 値。 -
SYSUTCDATETIME()
その値をdatetime2として返します 値。
これは、SYSUTCDATETIME()
より多くの秒の精度を提供します。 datetime2 データ型の範囲も日時よりも大きくなっています 。
例
各関数によって返される値を示す例を次に示します。
SELECT GETUTCDATE() AS GETUTCDATE, SYSUTCDATETIME() AS SYSUTCDATETIME;
結果:
+-------------------------+-----------------------------+ | GETUTCDATE | SYSUTCDATETIME | |-------------------------+-----------------------------| | 2018-06-13 11:04:55.237 | 2018-06-13 11:04:55.2396676 | +-------------------------+-----------------------------+
したがって、これはSYSDATETIME()
の違いに似ています。 およびGETDATE()
。
どちらを使用すればよいですか?
datetime2を使用することをお勧めします 日付/時刻の値を使用します。このデータ型はSQL標準に準拠しており、 datetimeよりも移植性があります。 。
したがって、SYSUTCDATETIME()
を使用してください 特別な理由がない限り。