2017-04-03 8 views
0

私は、オフセットとdatetimeの動的パラメータを持っています。動的オフセットとdatetimeの変換時のエラー

日付を変換するときに問題があります。

Declare @STR NVARCHAR (MAX) 
Declare @offset nvarchar = '+05:00' 
Declare @paramrequest date = '2017-03-30' 

SET @STR = 'select .... where ' 
+ CONVERT(DATE, SWITCHOFFSET(CONVERT(DATETIMEOFFSET, + 'REQUESTDATETIME'), @offset)) + ' >=' + CAST(@paramrequest AS DATE); 

EXECUTE (@STR) 

スクリプトを実行すると、このエラーが表示されます。このエラーを修正するにはどうすればよいですか?

文字列から日付および/または時刻を変換するときに変換に失敗しました。

答えて

0

文字列を正しく作成する必要があります。次のようにCONCATを使用してください:

SET @STR = CONCAT('select .... where ', 
    'CONVERT(DATE, SWITCHOFFSET(CONVERT(DATETIMEOFFSET,', 
    'REQUESTDATETIME),''', 
    @offset,''')) >= ''', 
CAST(@paramrequest AS DATE), '''') 
関連する問題