我有一个名为“客户”的表,如下所示
ID NAME
1001 MATHEW
1002 THOMAS
1003 ALEX
1004 ALBY
我需要使用 sql 查询在单个列中查看类似下面的数组的输出
输出如下
FORMAT_DATA
1001:MATHEW|1002:THOMAS|1003:ALEX|1004:ALBY|
我如何在 sl 查询中执行此操作
我有一个名为“客户”的表,如下所示
ID NAME
1001 MATHEW
1002 THOMAS
1003 ALEX
1004 ALBY
我需要使用 sql 查询在单个列中查看类似下面的数组的输出
输出如下
FORMAT_DATA
1001:MATHEW|1002:THOMAS|1003:ALEX|1004:ALBY|
我如何在 sl 查询中执行此操作
您可以使用 FOR XML
查询:
select
(
select RIGHT(ID,10) + ':' + NAME + '|'
from Customer
for xml path(''), type
).value('.','nvarchar(max)') DATA_FORMAT;
资料:
CREATE TABLE Customer (
ID int, NAME varchar(20));
INSERT Customer VALUES
(1001, 'MATHEW'),
(1002, 'THOMAS'),
(1003, 'ALEX'),
(1004, 'ALBY');
结果:
| DATA_FORMAT |
------------------------------------------------
| 1001:MATHEW|1002:THOMAS|1003:ALEX|1004:ALBY| |