TODATETIMEOFFSET (Transact-SQL)
datetime2 式から変換された datetimeoffset 値を返します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで)、Windows Azure SQL データベース (初回のリリースから現在のバージョンまで) |
構文
TODATETIMEOFFSET ( expression , time_zone )
引数
expression
datetime2 値に解決される式です。注意
式の型を text、ntext、または image にすることはできません。これらの型を varchar または nvarchar に暗黙的に変換することができないためです。
time_zone
タイム ゾーン オフセットを表す式です。たとえば、分単位で表す式 (整数の場合) は -120、時間と分単位で表す式 (文字列の場合) は '+13.00' です。 範囲は +14 ~ -14 (時間) です。 式は、指定された time_zone のローカル時刻で解釈されます。注意
式が文字列の場合、{+|-}TZH:THM の形式にする必要があります。
戻り値の型
datetimeoffset. 有効桁数は datetime 引数と同じです。
使用例
A. 現在の日付と時刻のタイム ゾーン オフセットを変更する
次の例では、現在の日付と時刻のゾーン オフセットを、タイム ゾーン -07:00 に変更します。
DECLARE @todaysDateTime datetime2;
SET @todaysDateTime = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDateTime, '-07:00');
-- RETURNS 2007-08-30 15:51:34.7030000 -07:00
B. タイム ゾーン オフセットを分単位で変更する
次の例では、現在のタイム ゾーンを -120 分に変更します。
DECLARE @todaysDate datetime2;
SET @todaysDate = GETDATE();
SELECT TODATETIMEOFFSET (@todaysDate, -120);
-- RETURNS 2007-08-30 15:52:37.8770000 -02:00
C. 13 時間のタイム ゾーン オフセットを追加する
次の例では、日付と時刻に 13 時間のタイム ゾーン オフセットを追加します。
DECLARE @dateTime datetimeoffset(7)= '2007-08-28 18:00:30';
SELECT TODATETIMEOFFSET (@dateTime, '+13:00');
-- RETURNS 2007-08-28 18:00:30.0000000 +13:00