Oracle一列转多行

 时间:2024-10-14 03:06:57

1、新建测试表,录入测试数据。CREA哌囿亡噱TE TABLE TEST_ONE( ID VARCHAR2(5), NAME VARCHAR2(100));INSERT INTO TEST_ONE (ID,NAME) VALUES('1','A:语文;B:数学;C:物理;D:化学;E:生物;');INSERT INTO TEST_ONE (ID,NAME) VALUES('2','x:历史;y:地理;z:政治;');

Oracle一列转多行

3、语句解释1:原始数据处理,最前面添加对应数据分隔符(演示是“;”);便于下一步分隔数据。注:"||" 为字符串连接符。SELECT ID,NAME KEY,';'||NAME STR FROM TEST_ONE

Oracle一列转多行

5、语句解释3:对字符串进行分割,首先查询出特殊符号位置,然后算出前后串之间字符长度进行截取。SUBSTR(STR, INSTR(STR, ';', 1, RN)+1, INSTR(STR, ':', 1, RN) - INSTR(STR, ';', 1, RN) - 1) "First_Str"

6、语句解释4:通过判断特殊符号最后位置,进行显示截取(防止层次查询中过多部分显示空值)。WHERE INSTR(STR, ';', 1, RN+1) > 0

  • 工作表如何查找某字符在单元格内出现的次数?
  • VBA自定义NVLOOKUP函数一对多查找
  • Excel如何用VBA制作动态数字?
  • Excel VBA定制如何快速删除表格空白单元格
  • 怎样使用VBA返回列号对应之英文字母?
  • 热门搜索
    福清旅游景点 北京怀柔旅游 旅游卫视主持人 贵州最佳旅游景点 广西梧州旅游景点 平遥旅游网 我国十大旅游胜地 河北省旅游网 韩国济州岛旅游攻略 日本旅游景点介绍