首页 > 数据库技术 > 详细

Oracle 字符串分割,并将内码转中文(简单实现),项目实战

时间:2020-05-29 18:49:48      阅读:49      评论:0      收藏:0      [点我收藏+]

导读

  实际项目开发过程中,可能会遇到这种情况,A表中A1字段存储B表中的内码如(1,2,3),此时需要将A表中的A1字段转中文,为了方便理解,我们这里创建学生表和老师表,一个学生对应N个老师。

创建表

学生表

--学生表
CREATE TABLE S_STUDENT
(
S_ID NUMBER,
S_NAME VARCHAR2(50),
T_ID VARCHAR2(50)
)
--插入一条数据
INSERT INTO S_STUDENT VALUES (1,陈彦斌,1,2,3)

老师表

--老师表
CREATE TABLE T_TEACHER(
T_ID NUMBER,
T_NAME VARCHAR2(50)
)
--插入三条数据
INSERT INTO T_TEACHER VALUES (1,语文);
INSERT INTO T_TEACHER VALUES (2,数学);
INSERT INTO T_TEACHER VALUES (3,英语);

数据

学生数据集

技术分享图片

老师数据集

技术分享图片

目标结果集

技术分享图片

最终SQL

技术分享图片

SELECT S.S_ID,
       S.S_NAME,
       S.T_ID,
       TO_CHAR((SELECT WM_CONCAT(T_NAME)
                 FROM T_TEACHER T
                WHERE INSTR(  , || S.T_ID || ,   ,     , || T.T_ID || ,  ) > 0)) T_ID_NAME
  FROM S_STUDENT S

--前期准备
--WM_CONCAT:函数将列转行,并用“,”分割开来
--INSTR:字符查找函数,返回索引位置,格式--> INSTR(源字符串,目标字符串)

结尾

  如果对你有小小的帮助,记得帮忙点个推荐哟!~~

Oracle 字符串分割,并将内码转中文(简单实现),项目实战

原文:https://www.cnblogs.com/chenyanbin/p/12988702.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!