从表中选择,然后在存储过程中形成一个以空格分隔的字符串

时间:2008-11-22 20:54:12

标签: sql sql-server

我想从表中选择大约4-5行,然后形成一个空格分隔的字符串。

所有这些都是在存储过程中完成的(SQL server 2005)。

这可能吗?

然后我将使用这个以空格分隔的字符串并将其保存到另一个表中。

更新

SELECT *
FROM Users
WHERE userID < 10

输出:

john
jake
blah
sam

所以,把它放在一个空格分隔的字符串中:

'john jake blah sam'

并将该字符串保存到表格中的另一行。

所有这一切都必须在存储过程中完成(如果可能的话)。

2 个答案:

答案 0 :(得分:3)

DECLARE @firstnames varchar(max)

SELECT 
    @firstnames = COALESCE(@firstnames + ' ', '') + FirstName 
FROM 
    Users 
WHERE 
    UserId < 10

INSERT INTO OtherTable (OtherColumn) VALUES (@firstNames)

答案 1 :(得分:0)

我觉得这样的事情会奏效:

DECLARE @whatever varchar(max)  -- or varchar(1000) or whatever size
SET @whatever = ''

SELECT @whatever = @whatever + MyColumn + ' ' FROM MyTable