sQL Serverの変数からすべてのNewLineを削除するにはどうすればよいですか?
SQL Server 2008 R2を使用しています。
T-Sqlコマンドの変数内のすべてのNewLineを削除する必要があります。
例えば :
Declare @A NVarChar(500)
Set @A = ' 12345
25487
154814 '
Print @A
そして、このように印刷しました
12345
25487
154814
しかし、私はこのような文字列を取得したい
12345 25487 154814
私はこのクエリを書きますが、うまくいきません:
Set @A = Replace(@A,CHAR(13),' ')
このクエリを使用する必要があります
Declare @A NVarChar(500);
Set @A = N' 12345
25487
154814 ';
Set @A = Replace(@A,CHAR(13)+CHAR(10),' ');
Print @A;
サンプル出力とまったく同じようにする場合は、 this hack を使用します。
DECLARE @A nvarchar(500)
SET @A = ' 12345
25487
154814 '
SET @A =
replace(
replace(
replace(
replace(@A, char(13)+char(10),' '),
' ','<>'),
'><','')
,'<>',' ')
PRINT @A
最初に改行を置き換え、次に連続するスペースを1つに置き換えます。厄介な驚きを避けるために、入力文字列をURLエンコードするのが賢明であることに注意してください。
Replace(@A,CHAR(13)+CHAR(10),' ')
はすべてのスペースを削除しませんでした。
代わりに私は使用しました
replace(replace(@A, char(13),N' '),char(10),N' ')
これはうまくいきます!