转换动态偏移量和日期时间时出错
Error when converting dynamic offset and 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)
当我 运行 脚本时,出现此错误。如何修复此错误?
Conversion failed when converting date and/or time from character string.
您需要正确构建字符串。像这样使用 CONCAT
:
SET @STR = CONCAT('select .... where ',
'CONVERT(DATE, SWITCHOFFSET(CONVERT(DATETIMEOFFSET,',
'REQUESTDATETIME),''',
@offset,''' )) >= ''',
CAST(@paramrequest AS DATE), '''')
我有一个偏移量和日期时间的动态参数。
我在转换日期时遇到问题。
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)
当我 运行 脚本时,出现此错误。如何修复此错误?
Conversion failed when converting date and/or time from character string.
您需要正确构建字符串。像这样使用 CONCAT
:
SET @STR = CONCAT('select .... where ',
'CONVERT(DATE, SWITCHOFFSET(CONVERT(DATETIMEOFFSET,',
'REQUESTDATETIME),''',
@offset,''' )) >= ''',
CAST(@paramrequest AS DATE), '''')