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

oracle

发布时间:2020-12-12 16:32:35 所属栏目:百科 来源:网络整理
导读:获得uuid(32位) : select sys_guid() from dual 会产生一个跟MAC地址、生成时间相关的一个32位16进制的随机数。 同一张表中复制树形结构: --复制表数据create table ETMT_SUBJECT_CP as select * from ETMT_SUBJECT;-- 新增一个uuid字段alter table ETMT

获得uuid(32位) : select sys_guid() from dual 会产生一个跟MAC地址、生成时间相关的一个32位16进制的随机数。

同一张表中复制树形结构:

--复制表数据
create table ETMT_SUBJECT_CP as select * from ETMT_SUBJECT;
-- 新增一个uuid字段
alter table ETMT_SUBJECT_CP add uuid VARCHAR2(50);
-- 为每条记录生成一个uuid
UPDATE ETMT_SUBJECT_CP t
SET t.uuid = sys_guid();
--获取复制的树的结构,新的id为uuid,新的parent_id为puuid
SELECT tt.id,tt.parent_id,tt.subject_name,tt.uuid,tt2.uuid puuid
FROM etmt_subject_cp tt LEFT JOIN etmt_subject_cp tt2 ON tt2.id = tt.parent_id;
--将上述结果集插入原来的表中
INSERT INTO etmt_subject
SELECT tt.uuid,tt2.uuid puuid,t.~~~
FROM etmt_subject_cp tt LEFT JOIN etmt_subject_cp tt2 ON tt2.id = tt.parent_id;
---删除临时过渡表
DROP ETMT_SUBJECT_CP;

Oracle中将查询出的多条记录的某个字段拼接成一个字符串的方法

11g里面用listagg:

select listagg(name,',') within (order by id) from table


10g里面用wm_concat:
select wm_concat(name) from table

wm_concat是undocument的
listagg是11g document的

oracle wm_concat(column)函数使我们经常会使用到的,下面就教您如何使用oracle wm_concat(column)函数实现字段合并,如果您对oracle wm_concat(column)函数使用方面感兴趣的话,不妨一看。
shopping:
-----------------------------------------
u_id goods num
------------------------------------------
1 苹果 2
2 梨子 5
1 西瓜 4
3 葡萄 1
3 香蕉 1
1 橘子 3
=======================
想要的结果为:
--------------------------------
u_id goods_sum
____________________
1 苹果,西瓜,橘子
2 梨子
3 葡萄,香蕉
---------------------------------
1.select u_id,wmsys.wm_concat(goods) goods_sum 2. 3.from shopping 4. 5.group by u_id
想要的结果2:
--------------------------------
u_id goods_sum
____________________
1 苹果(2斤),西瓜(4斤),橘子(3斤)
2 梨子(5斤)
3 葡萄(1斤),香蕉(1斤)
---------------------------------
使用oracle wm_concat(column)函数实现: select u_id,wmsys.wm_concat(goods || '(' || num || '斤)' ) goods_sum from shopping group by u_id mysql---group_concat

(编辑:李大同)

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

    推荐文章
      热点阅读