例如,我有一个字符串参数@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);
答案 0 :(得分:1)
您可以如下所示:
Int
更新
SELECT * FROM (VALUES('yellow'), ('blue'), ('red')) t(c)