-4

コンマで区切られたコードを含む文字列があります。

例:

@inputText = "1,2,3,4,5"

そして、私はへの変換が必要です:

@outputText = "apple, peach, orange, banana, onion"

私はコード表を持っています:

id name
-- ----
1  apple
2  peach
3  orange
4  banana
5  onion

私はSQLサーバー2008を使用しています

それを行うストアドプロシージャコードが必要です、ありがとう。

4

1 に答える 1

4

FOR XML PATHとともに使用LIKEして、コンマ区切りリストの値を置き換えることができます。

declare @text varchar(50) = '1,2,3,4,5'

;with cte as 
(
    select @text list
) 
select 
(
    select ', '+c.name
    from codes c
    where ','+t1.list+',' like '%,'+cast(c.ID as varchar(10))+',%'
    for xml path(''), type
).value('substring(text()[1], 3)', 'varchar(max)') as NewList
from cte t1

これは、 @Mikael Erikssonの回答に基づいています。

于 2013-03-05T10:54:20.450 に答える