次の方法で共有


SYSUTCDATETIME (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric の SQL 分析エンドポイントMicrosoft Fabric のウェアハウスMicrosoft Fabric プレビューの SQL データベース

返します、 datetime2 いるコンピューターの日時を表す値のインスタンス SQL Server が実行されています。 日付と時刻が UTC 時刻 (世界協定時刻) として返されます。 秒の小数部の有効桁数は 1 ~ 7 桁の範囲で指定できます。 既定の有効桁数は 7 桁です。

Note

SYSDATETIMESYSUTCDATETIME は、 GETDATEGETUTCDATEよりも秒の小数部の精度が高くなります。

SYSDATETIMEOFFSET には、システム タイム ゾーン オフセットが含まれます。

SYSDATETIMESYSUTCDATETIME、および SYSDATETIMEOFFSET は、日付と時刻のいずれかの型の変数に割り当てることができます。

日付と時刻のすべての Transact-SQL データ型と関数の概要については、 日付と時刻のデータ型と関数 (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