SQL Server - 使用一行字符串创建表

时间:2016-08-03 12:12:40

标签: sql sql-server

我有一个名单列表,我想放入一个临时/变量表,但不能想到如何做。

这是一个虚拟列表......

NAMES
McLovin
Deckard
Mufasa
DeLarge

这是一个我将被发送给我的字符串,我需要对实际表格进行清洗,所以我想把它放在临时字段中,但我想不出怎么做。

CREATE TABLE [#test] (
NAMES varchar (20));

INSERT INTO [#test] ([NAMES])
VALUES ('McLovin');

INSERT INTO [#test] ([NAMES])
VALUES ('Deckard');

以上是我能想到的唯一方法。我是SQL的新手,所以我仍在学习逻辑。任何指导都将非常感谢。

干杯。

3 个答案:

答案 0 :(得分:2)

看到这个: Inserting multiple rows in a single SQL query?

INSERT INTO #test ([NAMES])
VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge')

答案 1 :(得分:2)

我想补充一下Tedo的答案,你可能根本不需要临时表。您可以将这些直接包含在查询中:

select . . .
from (VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge')) v(names)

或使用CTE:

with names(name) as (
      select *
      from (VALUES ('McLovin'), ('Deckard'), ('Mufasa'), ('DeLarge'))
     )
select . . .

答案 2 :(得分:0)

这是最快的方式:

SELECT CONVERT(VARCHAR(20), 'McLovin') NAMES
INTO #temp
UNION
SELECT 'Deckard'
UNION
SELECT 'Mufasa'
UNION
SELECT 'DeLarge'

也不需要编写create语句。