SQL Serverでは、transact-sql SYSDATETIMEOFFSET()
関数はdatetimeoffset(7)を返します SQLServerのインスタンスが実行されているコンピューターの日付と時刻を含む値。この値には、タイムゾーンオフセットが含まれます。
以下の使用例。
構文
構文は次のようになります:
SYSDATETIMEOFFSET ( )
したがって、引数なしで関数を呼び出すだけです。
例
基本的な例は次のとおりです。
SELECT SYSDATETIMEOFFSET() AS Result;
結果:
Result ---------------------------------- 2018-06-17 09:55:27.3221853 +10:00
タイムゾーンオフセットの抽出
DATEPART()
を使用できます タイムゾーンオフセットを返す関数。この関数は、タイムゾーンオフセットを分単位で表す整数を返します。
例:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', DATEPART(TZoffset, SYSDATETIMEOFFSET()) AS 'TZ Offset';
結果:
Date/time TZ Offset ---------------------------------- ----------- 2018-06-17 10:04:23.2316409 +10:00 600
FORMAT()関数を使用して、タイムゾーンオフセットを文字列として返すこともできます。具体的には、z
を使用できます 、zz
、および/またはzzz
必要な形式で返すための引数。
例:
SELECT SYSDATETIMEOFFSET() AS 'Date/time', FORMAT(SYSDATETIMEOFFSET(), 'zz') AS 'zz', FORMAT(SYSDATETIMEOFFSET(), 'zzz') AS 'zzz';
結果:
Date/time zz zzz ---------------------------------- -------------- -------------- 2018-06-17 10:27:33.7314840 +10:00 +10 +10:00
戻り値の変換
CONVERT()
などの関数を使用することもできます 戻り値を別のデータ型に変換します。これを日付に変換する例を示します 値と時間 値:
SELECT CONVERT (date, SYSDATETIMEOFFSET()) AS 'Date', CONVERT (time, SYSDATETIMEOFFSET()) AS 'Time';
結果:
Date Time ---------- ---------------- 2018-06-17 10:08:29.6377947
もちろん、これを行うと、タイムゾーンのオフセットが失われます。
TODATETIMEOFFSET()
も参照してください これにより、 datetimeoffsetを取得できます datetime2からの値 式、およびSWITCHOFFSET()
これにより、タイムゾーンオフセットを変更できます。