2017-04-03 114 views
0

我有一個偏移量和日期時間的動態參數。轉換動態偏移量和日期時間時出錯

我在轉換日期時遇到問題。

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), '''')