2017-04-26 3 views
0

CASE文とREPLACE文を組み合わせることはできますか?置換とcase文の組み合わせ

私は空白としてNULLを表示するには、この文を持っている:

CASE 
    WHEN f.descriptionofwork IS NULL 
    THEN 
     '' 
    ELSE 
     f.descriptionofwork 
END as 'Description' 

しかし、私はまた、データ内の改行/リターンを削除するには、通常、このステートメントを使用する必要があります。

Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') as 'Description' 

どうでしょう私は2つを組み合わせる?

答えて

0

COALESCE()CASEよりも簡潔です:あなたは、単一引用符でカラムのエイリアスを置くべきではありません

SELECT COALESCE(Replace(Replace(f.descriptionofwork, CHAR(10), '' 
           ), CHAR(13), '' 
         ), '') as Description 

。コード内の問題を回避するには、文字列と日付の定数には一重引用符を使用します。

1

これを試してみてください:

CASE 
    WHEN f.descriptionofwork IS NULL THEN '' 
    ELSE Replace(Replace(f.descriptionofwork,CHAR(10),''),CHAR(13),'') 
END as 'Description' 
関連する問題