加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Oracle SQL语句中构建以逗号分隔的值列表

发布时间:2020-12-12 13:50:56 所属栏目:百科 来源:网络整理
导读:我正在尝试从Oracle中的字段构建以逗号分隔的值列表. 我找到了一些示例代码: DECLARE @List VARCHAR(5000)SELECT @List = COALESCE(@List + ',' + Display,Display)FROM TestTableOrder By Display 但是当我尝试时,我总是得到一个关于FROM关键字的错误,而不
我正在尝试从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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读