【发布时间】:2018-09-07 15:15:56
【问题描述】:
我的查询在 SQL Server Management Studio 2014 中运行良好,但是当我在 Visual Studio 2013 中将查询放入 SSRS 时,我收到一条错误消息,指出 CONCAT 函数需要两个参数。我的代码:
SELECT a.identityID,
{ fn CONCAT(a.firstName, ' ', SUBSTRING(a.middleName, 1, 1), ' ', a.lastName, a.suffix) } AS 'Name1',
{ fn CONCAT(c.firstname, ' ', c.lastname) } AS 'Name2',
{ fn CONCAT(d.number, ' ',d.prefix, ' ', d.street, ' ', d.tag, ' ', d.apt, ' ', d.city, ' ', d.state, ' ', d.zip) } AS 'Address'
FROM person AS a
LEFT OUTER JOIN identityOther AS b
ON a.identityID = b.identityID
LEFT OUTER JOIN identity AS c
ON a.identityID = c.identityID
LEFT OUTER JOIN address AS d
ON a.identityID = d.identityID
ORDER BY a.identityID
【问题讨论】:
-
您使用的是什么版本的 SQL Server?你应该可以去 concat(string1,string2,string3)
-
您是否尝试过使用连接运算符?就像 SQL Server 中的
+或 Oracle 中的||。 -
@StevenWhite 如果您使用 + 并且其中一个值是 null .. 它使整个事情为 null!
-
如果您在 SSRS 中独立运行 CONCAT,是否所有的 CONCAT 都会失败,或者做一些工作? (用硬编码值替换三个字段中的两个,留下一个 CONCAT,运行报告,根据需要重复。)
-
@Harry 这就是
ISNULL的用途。
标签: visual-studio tsql reporting-services