日期:2014-05-18  浏览次数:20514 次

有没有数组,将查询出的一个字段放到数组中
我用一个select 语句,将一个字段的数据,放到数组中。
可以直接到输出第几位索引上的值。

如果数组实现不太便的话,我如何取得一个select结果任意一条上的对应字段值呢?

------解决方案--------------------
你是一行数据还是一列数据?

ORACLE中的varchar2 就相当于 SQL SERVER中的varchar。

SQL code

--> 测试数据: @T
declare @T table (col1 int,col2 varchar(1),col3 int)
insert into @T
select 1,'a',11 union all
select 2,'b',12 union all
select 3,'c',13 union all
select 4,'d',14

--一行数据用逗号拼接
DECLARE @d VARCHAR(20)
SELECT  @d = LTRIM(col1) + ',' + col2 + ',' + LTRIM(col3)
FROM    @T
WHERE   col1 = 1
SELECT  @d
/*
1,a,11
*/

--一列数据用逗号拼接
DECLARE @d1 VARCHAR(20)
SET @d1 = ''
SELECT  @d1 = @d1 + col2 + ','
FROM    @T 
SELECT  LEFT(@d1, LEN(@d1) - 1)
/*
a,b,c,d
*/