2016-07-27 13 views
1

COLUMN_Aの部分文字列を '#'文字の後に置きたいと考えました。オプションの文字を含むSQL Serverの部分文字列

私が使用:

RIGHT(COLUMN_A, (LEN(COLUMN_A) - CHARINDEX('#', COLUMN_A))) 

COLUMN_Aは '#' 文字がある場合にこれが正常に動作します。しかし、いくつかの行では、 '#'がなければ、空の結果が得られます。私はこれを処理するためにISNULL()を使ってみましたが、運はありません!

これをどのように処理することができますか?

答えて

1

ポンド記号があるかどうかを確認し、何か他のものを返すようにcase文を使用します。

CASE WHEN CHARINDEX('#',COLUMN_A) = -1 
    THEN COLUMN_A 
    ELSE RIGHT(COLUMN_A, (len(COLUMN_A) - CHARINDEX('#',COLUMN_A))) 
END 
関連する問題