適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Microsoft Fabric の SQL 分析エンドポイント
Microsoft Fabric のウェアハウス
Microsoft Fabric プレビューの SQL データベース
返します、 datetime2 いるコンピューターの日時を表す値のインスタンス SQL Server が実行されています。 日付と時刻が UTC 時刻 (世界協定時刻) として返されます。 秒の小数部の有効桁数は 1 ~ 7 桁の範囲で指定できます。 既定の有効桁数は 7 桁です。
Note
SYSDATETIME
と SYSUTCDATETIME
は、 GETDATE
や GETUTCDATE
よりも秒の小数部の精度が高くなります。
SYSDATETIMEOFFSET
には、システム タイム ゾーン オフセットが含まれます。
SYSDATETIME
、 SYSUTCDATETIME
、および SYSDATETIMEOFFSET
は、日付と時刻のいずれかの型の変数に割り当てることができます。
日付と時刻のすべての Transact-SQL データ型と関数の概要については、 日付と時刻のデータ型と関数 (Transact-SQL) を参照してください。
Syntax
SYSUTCDATETIME ( )
Return Type
datetime2
Remarks
Transact-SQL ステートメントは、SYSUTCDATETIME
式を参照できる任意の場所でを参照できます。
SYSUTCDATETIME
は非決定的関数です。 この関数を列内で参照するビューと式には、インデックスを付けることができません。
Note
SQL Server は、 GetSystemTimeAsFileTime()
Windows API を使用して日付と時刻の値を取得します。 精度は、SQL Server のインスタンスが実行されているコンピューター ハードウェアおよび Windows のバージョンによって異なります。 この API の精度は 100 ナノ秒で固定されます。 精度は、 GetSystemTimeAdjustment()
Windows API を使用して判断できます。
Examples
次の例では、現在の日付と時刻を返す 6 つの SQL Server システム関数を使用して、日付、時刻、またはその両方を取得しています。 値は順番に返されるため、秒の小数部が異なる可能性があります。
A. 日付と時刻関数によって返される形式を表示する
次の例では、日付と時刻関数から返されるさまざまな形式を示します。
SELECT SYSDATETIME() AS [SYSDATETIME()]
,SYSDATETIMEOFFSET() AS [SYSDATETIMEOFFSET()]
,SYSUTCDATETIME() AS [SYSUTCDATETIME()]
,CURRENT_TIMESTAMP AS [CURRENT_TIMESTAMP]
,GETDATE() AS [GETDATE()]
,GETUTCDATE() AS [GETUTCDATE()];
結果セットは次のとおりです。
SYSDATETIME() 2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30 13:10:02.047
GETDATE() 2007-04-30 13:10:02.047
GETUTCDATE() 2007-04-30 20:10:02.047
B. 日付と時刻を日付に変換する
次の例では、日付と時刻の値を 日付 データ型に変換する方法を示します。
SELECT CONVERT (date, SYSDATETIME())
,CONVERT (date, SYSDATETIMEOFFSET())
,CONVERT (date, SYSUTCDATETIME())
,CONVERT (date, CURRENT_TIMESTAMP)
,CONVERT (date, GETDATE())
,CONVERT (date, GETUTCDATE());
結果セットは次のとおりです。
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
2007-04-30
C. 日付と時刻の値を時刻に変換する
次の例では、日付と時刻の値を time* データ型に変換する方法を示します。
DECLARE @DATETIME DATETIME = GetDate();
DECLARE @TIME TIME
SELECT @TIME = CONVERT(time, @DATETIME)
SELECT @TIME AS 'Time', @DATETIME AS 'Date Time'
結果セットは次のとおりです。
Time Date Time
13:49:33.6330000 2009-04-22 13:49:33.633