SQL Server 空白のカラムをREPLACEできない

SQL Server 空白のカラムをREPLACEできない

SQL Serverで、空白のカラムをREPLACEできない場合の対処法を記述してます。

環境

  • OS windows10 pro
  • SQL server 2017
  • SSMS 18.7.1

REPLACEできない

実際に、以下のテーブルにあるカラム「name」にある空白をREPLACEで置換しようとしてもできません。

以下のクエリを実行しても、置換されません。

SELECT name,
      REPLACE(name,'','change') as replace	  
FROM [dbo].[Test]

実行結果

対処法

caseを使用します。

SELECT name,
       REPLACE(name,'','change') as replace_result,
	    CASE name WHEN '' THEN 'change' ELSE name END AS case_result
FROM [dbo].[Test]

実行結果