SQL Server 2005:如何检查空字符串

时间:2013-09-18 10:37:48

标签: sql-server-2005

我有一个过程,如果它们不为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'附近的语法不正确。

2 个答案:

答案 0 :(得分:1)

您可以使用使用NULLIF (Transact-SQL)

select nullif(MobileAreaCode, '')+nullif(Mobile, '') as MobileAreaCodeMobile
from YourTable

SQL Fiddle

答案 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