0

次のクエリを実行することがよくあります。

SELECT * FROM TABLE WHERE ID IN (1,2,3,4)

整数をコンマで返す結果セットを連結できる関数はありますか?

例えば

concatenate(SELECT ID FROM TABLE)戻るだろう1,2,3,4

4

2 に答える 2

5

これでうまくいきます...これはアプリケーション層で行う方がはるかに効率的だと思いますが、これらのタイプのトリックに頼ることになる(レポート)場合があります。

DECLARE @listStr VARCHAR(MAX)
SELECT @listStr = COALESCE(@listStr+',' ,'') + cast(ID as varchar(10))
FROM table
SELECT @listStr

このトリックは Pinal Dave から学びました。参照: Create a Comma Delimited List Using SELECT Clause From Table Column

于 2013-05-03T13:20:07.520 に答える