【发布时间】:2018-04-24 08:41:09
【问题描述】:
我需要将代表地址线的三列合并为一列,以便在此处构成整个地址。所有三列都可以包含一个 NULL 值。 我认为解决方法如下:
SELECT IIF((add1.AddressLine1 Is Null), '', add1.AddressLine1 + CHAR(13)) +
IIF((add1.AddressLine2 Is Null), '', add1.AddressLine2 + CHAR(13)) +
add1.AddressLine3 As EntireAddress
FROM T_Address add1
但是,“Is”的两个实例都有一个红色波浪下划线,表示“'Is' 附近的语法不正确”。错误。我做错了什么/我怎样才能实现我想要的?我使用 SSMS 2012。
谢谢!
【问题讨论】:
-
我无法复制这个问题;
DECLARE @a int; SELECT IIF(@a IS NULL,1,0);工作正常。 -
您的
Sql Server版本是什么? -
@Larnu,这对我不起作用。 A. 我需要将@a IS NULL 放在括号中,否则我会得到“IIF 函数需要 3 个参数”。 B. 应用括号时,我又回到了最初的错误。
-
@Abhishek 我使用 SQL Server 管理系统 2012
-
@Cooz SSMS 不是 SQL 版本,它是一个应用程序。您使用的是什么版本的 SQL Server? (你的回答类似于问某人“你有什么版本的 Windows?”,他们回答说“我正在使用 Microsoft Office 2016。”)。
标签: sql-server syntax-error iif