この目的でCOALESCEやその他の「メソッド」を使用した例をたくさん見ました。そのうちの1つを次に示します。
@result nvarchar(1024)
SELECT @result = COALESCE(@result + ',', '') + column_name
FROM some_table
期待:[値、値、値]
結果:[値、値、値]
誰かこの問題がありますか、それとも私は他の何かで私の間違いを見つけなければなりませんか?
この目的でCOALESCEやその他の「メソッド」を使用した例をたくさん見ました。そのうちの1つを次に示します。
@result nvarchar(1024)
SELECT @result = COALESCE(@result + ',', '') + column_name
FROM some_table
期待:[値、値、値]
結果:[値、値、値]
誰かこの問題がありますか、それとも私は他の何かで私の間違いを見つけなければなりませんか?
値に空白があるようですcolumn_name
。空白を削除するには、LTRIM()
とRTRIM()
その周辺を使用する必要があります。column_name
declare @result nvarchar(1024)
SELECT @result = COALESCE(@result + ',', '') + ltrim(rtrim(col1))
FROM yourtable
select @result
REPLACE()
または、最終結果で空白を削除するために使用できます。
declare @result nvarchar(1024)
SELECT @result = COALESCE(@result + ',', '') + col1
FROM yourtable
select replace(@result, ' ', '')
@result nvarchar(1024)
SELECT @result = COALESCE(ltrim(rtrim(@result)) + ',', '') + ltrim(rtrim(column_name))
FROM some_table