【SQL Server】文字列の中に改行コードが存在するかどうかを確認する際は、SELECTではなくPRINTを使用する

前提

確認した環境は以下
・Microsoft SQL Server 2017
・SQL Server Management Studio 15

確認したこと

・改行コード(=改行文字)は「CHAR(10) + CHAR(13)」
・SELECTでは、改行コードが存在することを確認できない(改行されない)
・PRINTならば、改行コードが存在することを確認できる(改行される)

サンプルプログラム

DECLARE
	@str nvarchar (max)

	--改行コード(=改行文字)は「CHAR(10) + CHAR(13)」
	SET @str = 'aiueo' + CHAR(13) + CHAR(10) +'12345'
	
	--PRINTならば、改行コードが存在することを確認できる(改行される)
	PRINT @str

	--SELECTでは、改行コードが存在することを確認できない(改行されない)
	--SELECT @Str

結果

改行コードの確認

備考

改行コードの設定有無の確認方法としてSELECTを使用しているサイトが複数あるが、
今回確認した限りSELECTでは確認できなかった。
当該サイトの内容は古い情報であると思われる。

タイトルとURLをコピーしました