我有一张桌子:
ID | Value
----------------
1 | One
2 | Two
3 | Three
Run Code Online (Sandbox Code Playgroud)
我需要做的是从这些值创建一个字符串,格式如下:
'1: One, 2: Two, 3: Three'
Run Code Online (Sandbox Code Playgroud)
我知道如何使用游标执行此操作,但它将在视图中用作列,因此它不是真正的高性能选项.有什么指针吗?
WITH T(ID,Value) AS
(
SELECT 1, 'One' UNION ALL
SELECT 2, 'Two' UNION ALL
SELECT 3, 'Three'
)
SELECT STUFF(
(SELECT ', ' + CAST(ID as varchar(11)) + ': ' + Value
FROM T
FOR XML PATH (''))
, 1, 2, '')
Run Code Online (Sandbox Code Playgroud)
看看类似的东西
DECLARE @Table TABLE(
ID INT,
Value VARCHAR(20)
)
INSERT INTO @Table SELECT 1,'One'
INSERT INTO @Table SELECT 2,'Two'
INSERT INTO @Table SELECT 3,'Three'
SELECT STUFF(
(
SELECT ', ' + CAST(ID AS VARCHAR(MAX)) + ': ' + Value
FROM @Table
FOR XML PATH(''), TYPE
).value('.','varchar(max)')
,1,2, ''
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6748 次 |
| 最近记录: |