如何使用sql查询格式化数据

时间:2012-11-15 02:23:04

标签: sql sql-server-2008

我有一个名为“客户”的表,如下所示

ID         NAME
1001       MATHEW
1002       THOMAS
1003       ALEX
1004       ALBY

我需要使用sql查询在单个列中看到类似下面的数组输出

如下所示

FORMAT_DATA
1001:MATHEW|1002:THOMAS|1003:ALEX|1004:ALBY|

我如何在sl查询中执行此操作

1 个答案:

答案 0 :(得分:0)

您可以使用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');

<强> Results

|                                  DATA_FORMAT |
------------------------------------------------
| 1001:MATHEW|1002:THOMAS|1003:ALEX|1004:ALBY| |