0

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」付近の構文が正しくありません。

4

2 に答える 2

1

Use NULLIF (Transact-SQL)を使用できます。

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

SQL フィドル

于 2013-09-18T11:21:57.957 に答える