在SQL Server中按行选择字符串格式

时间:2017-04-29 07:29:34

标签: sql sql-server

例如,我有一个字符串参数@p_colors,其值如:

'yellow','blue','red'

传递给存储过程。当我尝试选择它时:

EXECUTE(CONCAT('SELECT ', @p_colors));

结果是按列选择值。

No column name | No column name | No column name
------------------------------------------------
Yellow         | Blue           | Red

如果我想按行显示它们,我该怎么做:

No column name |
----------------
Yellow         |
----------------
Blue           |
----------------
Red            |
----------------

仅使用字符串格式化参数。在SQL中有什么方法可以做到这一点吗?

修改

实际结果将插入临时表中,因此实际代码为:

EXECUTE('INSERT INTO #colors(color) SELECT ', @p_colors);

1 个答案:

答案 0 :(得分:1)

您可以如下所示:

Int

更新

SELECT * FROM (VALUES('yellow'), ('blue'), ('red')) t(c)