【发布时间】:2018-12-27 19:43:10
【问题描述】:
我需要将 SSRS 参数中的日期放入 UTC 转换函数中 在 concat 中无法识别这些值。
我现在在“s”附近遇到语法错误。
select concat(s.y+s.m+s.d])
from(
SELECT y.[Value] as y, m.[Value] as m, d.[Value] as d
FROM ssrs.FnSplit(@YEAR,',') y
cross join ssrs.FnSplit(@MONTH,',') m
cross join ssrs.FnSplit(@DAY,',') d
) s
注释前的代码
DECLARE @YEAR varchar(max)='2222,2111'
DECLARE @MONTH varchar(max)='1,2,3'
DECLARE @DAY varchar(max)='1,2'
DECLARE @START_DATE DATE
--SELECT @START_DATE = CAST((SELECT [Value] FROM ssrs.FnSplit(@YEAR,',') AS VARCHAR(4)) + '-' + RIGHT('0' + CAST((SELECT [Value] FROM ssrs.FnSplit(@MONTH,',') AS VARCHAR(2)), 2)
-- + '-' + CAST((SELECT [Value] FROM ssrs.FnSplit(@DAY,',') AS VARCHAR(4))
select concat(y.[Value]+m.[Value]+d.[Value])
from (
SELECT y.[Value], m.[Value], d.[Value]
FROM ssrs.FnSplit(@YEAR,',') y
cross join ssrs.FnSplit(@MONTH,',') m
cross join ssrs.FnSplit(@DAY,',') d
) s
【问题讨论】:
-
您无法再访问
y,而您正在使用concat,您现在正在访问s。 -
你有一个不必要的括号
select concat(s.y+s.m+s.d])。您还可以考虑为要提取的值使用不同的别名以避免混淆。
标签: sql sql-server reporting-services