1. ホーム
  2. データベース
  3. mssql2008

空白の値を他の値に置き換えるSQL

2022-01-19 15:42:30

次の図は、データベースのクエリで、空白値("")とNull値を含む

上の画像のnullとblankの値を他の値に置き換えるにはどうしたらいいですか?

isnull()関数を使うことを提案する人もいますが、この関数は空白値ではなく、NULL値しか置き換えることができません。

次のSQLステートメントを使用すると、NULL値と空白値の両方を他の値に置き換えることができます。

select (CASE when (TelPhone IS NULL OR TelPhone='') then 'None' else TelPhone end) as TelPhone, (CASE when (Name is null or Name='') then 'None' else Name end) as name,(CASE when (CreateDate IS NULL OR CreateDate='') then 'None' else CreateDate end) as CreateDate,(CASE when ([Address] IS NULL OR [Address]='') then 'Not available' else [Address] end) as [Address] from User_Detail 

sqlステートメントを実行した結果は以下の通りです。

上の画像では、すべてのNULL値と空白値が"None"に置き換えられていることがわかります。

追記 SQLクエリにおけるNULLの置き換え

現在、私が認識している方法は3つあります。

1. ifステートメントを使用する

select if(age is null,18,age) from student

2. 関数を使う

2.1 isnull

SELECT isnull(age,18) from Student

2.2 coalesce

select coalesce(age,18) from student

上記は私の個人的な経験ですが、ご参考にしていただき、スクリプトハウスをより支持していただければと思います。もし、間違いや不十分な考察があれば、遠慮なくアドバイスしてください。