我有一个过程,如果它们不为null,则返回MobileAreaCode + Mobile 我只是想添加它对空字符串的支持以及我尝试过(没有空字符串的句柄,它可以工作)
ALTER PROCEDURE PROC_NAME
@Identification INT
AS
BEGIN
SELECT
CASE WHEN MobileAreaCode is NOT NULL OR Mobile is NOT NULL
OR MobileAreaCode<>'' OR Mobile<>''
THEN
MobileAreaCode+Mobile
END
FROM
TABLE_NAME
WHERE
id = 123456789
END
GO
不起作用并导致以下错误:
关键字'FROM'附近的语法不正确。
答案 0 :(得分:1)
您可以使用使用NULLIF (Transact-SQL)。
select nullif(MobileAreaCode, '')+nullif(Mobile, '') as MobileAreaCodeMobile
from YourTable
答案 1 :(得分:0)
ALTER PROCEDURE PROC_NAME
@Identification INT
AS
BEGIN
SELECT
CASE WHEN (MobileAreaCode is NOT NULL) AND (Mobile is NOT NULL)
AND (len(MobileAreaCode)>0) AND (len(Mobile)>0)
THEN
MobileAreaCode+Mobile
END
FROM
TABLE_NAME
WHERE
id = 123456789
END
GO