gpt4 book ai didi

sql-server - CONCAT 函数中有超过 2 列

转载 作者:行者123 更新时间:2023-12-02 10:03:11 29 4
gpt4 key购买 nike

在 SQL Server 2012 中,我想将 5 列合并为 1 列,但在查询中它可以工作,但是当我放入 View 中时,它会给我一个错误,如

Msg 174, Level 15, State 1, Line 3
The CONCAT function requires 2 argument(s).

问题出在哪里,我可以修复它,因为 concat 对于连接超过 1 列来说是一个很好的函数,因为如果它为 null,它们会将其设为空..

代码:

SELECT        
'Aan ' + A.Name AS 'Naam',
{ fn CONCAT('T.a.v. ', C.Salutation + ' ', C.FirstName + ' ', C.MiddleName + ' ', C.LastName) } AS 'T.a.v.',
ISNULL(ISNULL(A.Address1_Line2, A.Address1_Line1),
C.Address1_Line2) AS 'Adres',
ISNULL(A.Address1_PostalCode + ' ' + A.Address1_City, A.Address2_PostalCode + ' ' + A.Address2_City) AS 'Woonplaats',
'heer' + ' ' + ISNULL(C.MiddleName + ' ', N'') + ISNULL(C.LastName, N'') AS 'Aanhef'
FROM
dbo.Account AS A
FULL OUTER JOIN
dbo.Contact AS C ON A.Name = C.AccountIdName
WHERE
(C.Salutation = 'Dhr.') AND (A.Name IS NOT NULL) AND (A.StatusCode = 1)
AND (ISNULL(C.StatusCode, 1) = 1) OR (C.Salutation = 'dhr.') AND (A.Name IS NOT NULL) AND (A.StatusCode = 1) AND (ISNULL(C.StatusCode, 1) = 1)

最佳答案

嘿。如果您想在 View 设计器中使用 CONCAT 作为规范函数 {fn CONCAT(...)} ,有一个解决方案可以连接两个以上的列/字符。

您可以在 CONCAT 中使用 CONCAT,如下所示:

假设您想将两个代码连接成一个,中间用“-”连接

第 1 列 = 123456

第 2 列 = 0001

{fn CONCAT({fn CONCAT(column1, '-')}, column2)}

因此您将得到:123456-0001

关于sql-server - CONCAT 函数中有超过 2 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16567121/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com