2016-11-23 4 views
0

私は現在の日付時刻から5時間30分を引いた5.5の時差値を取得します。現在の時刻にオフセットを追加する

select Dateadd(HH, -5.5,GETUTCDATE()),GETUTCDATE() 

出力では、5時間しか減算されません。 タイムゾーンに応じて、このオフセット5.5または13.5の形式で値が得られます。

これは可能ですか?算術演算は、常に全体の単位で機能

答えて

0

私はいつもこの形式の値は、時間帯に応じて、同様に5.5または13.5をオフセットます。..

次に、あなたが60で値を乗算し、minute日付要素

を使用することができます
select Dateadd(MINUTE, -5.5 * 60,GETUTCDATE()) 
0

時間 - あなたは-5.5がオフに切り捨てされていることを見つけることができる - その代わり

select Dateadd(MINUTE, -330,GETUTCDATE()),GETUTCDATE() 

関数への入力は、整数(整数)であることが意図されている-330分を使用小数部分

0

はいこれは可能です。まず、小数点のオフセットを分に変換する必要があります。これで、前と同じようにDATEADDを使用できます。

DECLARE @Offset DECIMAL(18, 2) = 5.5; 
DECLARE @Mins INT    = 60 * @Offset; 

-- Offsetting by decimal time values. 
SELECT 
    DATEADD(MINUTE, @Mins, GETDATE()) 
; 
関連する問題