我正在尝试从Oracle中的字段构建以逗号分隔的值列表.
我找到了一些示例代码:
DECLARE @List VARCHAR(5000) SELECT @List = COALESCE(@List + ',' + Display,Display) FROM TestTable Order By Display
但是当我尝试时,我总是得到一个关于FROM关键字的错误,而不是它的预期.我可以使用SELECT INTO并且它可以工作,但如果我有多行,我会得到fetch错误.
为什么我不能这样做:
SELECT myVar = Field1 FROM myTable
在Oracle中,您将使用Tim Hall在此页面上收集的许多
string aggregation techniques中的一个.
如果您使用的是11.2,
SELECT LISTAGG(display,',') WITHIN GROUP (ORDER BY display) AS employees INTO l_list FROM TestTable
在早期版本中,我的偏好是使用用户定义的聚合函数方法(Tim的名为string_agg)来做
SELECT string_agg( display ) INTO l_list FROM TestTable