电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Oracle根據逗號拆分字段內容轉成多行的函數說明

瀏覽:116日期:2023-05-30 16:13:59
目錄
  • 使用場景
  • 1.業務表A
  • 2.實現拆分SQL
  • 3.REGEXP_SUBSTR函數
    • 1)參數說明
    • 2)案例
  • 4.REGEXP_REPLACE函數
    • 1)參數說明
  • 5.CONNECT BY函數
    • 1)基本語法
    • 2)案例
  • 6.LENGTH函數
    • 1)參數說明
    • 2)案例
  • 總結

    使用場景

    業務表A中一個字段存放用逗號分割的多個業務單元,現在需要將數據轉成一個業務單元對應一個數據。

    1.業務表A

    SELECT * FROM app_template_dept t WHERE t.evaluate_index_code ="3330326";

    2.實現拆分SQL

    SELECT DISTINCT A.*, REGEXP_SUBSTR(A.DEPT_CODE, "[^,]+", 1, Level, "i")  FROM (SELECT *  FROM APP_TEMPLATE_DEPT T WHERE T.EVALUATE_INDEX_CODE = "3330326") ACONNECT BY Level<= LENGTH(A.DEPT_CODE) -   LENGTH(REGEXP_REPLACE(A.DEPT_CODE, ",", "")) + 1;

    3.REGEXP_SUBSTR函數

    對字符串進行正則分割,取特定字符的函數。

    1)參數說明

    REGEXP_SUBSTR(String, pattern, position, occurrence, modifier)

    • String: 需要進行正則處理的字符串
    • pattern:進行匹配的正則表達式
    • position:起始位置,從第幾個字符開始正則表達式匹配(默認為1)
      注意:字符串最初的位置是1而不是0
    • occurrence:標識第幾個匹配組,默認為1
      注意:分割后最初的字符串會按分割的順序排列成組
    • modifier:模式('i’不區分大小寫進行檢索;‘c’區分大小寫進行檢索。默認為’c’。)
      注意:針對的是正則表達式里字符大小寫的匹配

    2)案例

    /*從第一個字符開始按照字符"A"(區分大小寫)分割字符串"1a2A33a",取第二個分割出來的數據*/SELECT REGEXP_SUBSTR("1a2A33a","[^A]+",1,2,"c") AS STR FROM DUAL; --結果:33aSELECT REGEXP_SUBSTR("1a2A33a","[^A]+",1,2,"i") AS STR FROM DUAL; --結果:2/*把要輸出來的第幾個子串,通過一個變量ROWNUM轉換成輸出多少個子串。level<=5代表的是輸出5個,沒有的為null*/SELECT REGEXP_SUBSTR("1a2A33a","[^A]+",1,Level,"i") AS STR FROM DUAL CONNECT BY LEVEL<=5; --結果:1、2、33、null、null

    4.REGEXP_REPLACE函數

    通過正則表達式來進行匹配替換。

    1)參數說明

    REGEXP_REPLACE(VARCHAR str, VARCHAR pattern, VARCHAR replacement)

    str:指定的字符串pattern:被替換的字符串replacement:用于替換的字符串 2)案例

    SELECT REGEXP_REPLACE("1a2A33a","A","") AS STR FROM DUAL; --結果:1a233a

    5.CONNECT BY函數

    一般用來查找存在父子關系的數據,也就是樹形結構的數據。

    1)基本語法

    select ... fromwhere ... --過濾條件,用于對返回的所有記錄進行過濾。[start with ...] --查詢結果重起始根結點的限定條件。connect by [prior] id=parentid--連接條件; 
    • start with:用來限制第一層的數據,或者叫根節點數據,以這部分數據為基礎來查找第二層數據,然后以第二層數據查找第三層數據以此類推。
    • connect by [prior] id=parentid :這部分是用來指明oracle在查找數據時以怎樣的一種關系去查找,比如說查找第二層的數據時用第一層數據的id去跟表里面記錄的parentid字段進行匹配,如果這個條件成立那么查找出來的數據就是第二層數據,同理查找第三層第四層…等等都是按這樣去匹配。

    也可以寫成connect by id= [prior] parentid,這種用法就表示從下往上查找數據,可以理解為從葉子節點往上查找父級幾點,用第一層數據的parentid去跟表記錄里面的id進行匹配,匹配成功那么查找出來的就是第二層數據;上面的那種就是從父級節點往下查找葉子節點。

    2)案例

    select rownum from dual connect by rownum<=10;

    結果

    select * from table_tempstart with id = "001001"connect by prior id = parent_id;

    table_temp表中數據

    結果

    6.LENGTH函數

    返回字符串表達式中字符數的字符串函數。

    1)參數說明

    LENGTH(string-expression)

    • string-expression:字符串表達式,可以是列名、字符串文字或另一個標量函數的結果,其中基礎數據類型可以表示為任何字符類型(例如 CHAR 或 VARCHAR)

    2)案例

    SELECT LENGTH("1a2A33a") AS STR FROM DUAL; --結果:7

    總結

    到此這篇關于Oracle根據逗號拆分字段內容轉成多行的文章就介紹到這了,更多相關Oracle逗號拆分字段內容內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Oracle
    主站蜘蛛池模板: 定量包装秤,吨袋包装称,伸缩溜管,全自动包装秤,码垛机器人,无锡市邦尧机械工程有限公司 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 短信通106短信接口验证码接口群发平台_国际短信接口验证码接口群发平台-速度网络有限公司 | 电竞馆加盟,沈阳网吧加盟费用选择嘉棋电竞_售后服务一体化 | 范秘书_懂你的范文小秘书 | 安徽净化板_合肥岩棉板厂家_玻镁板厂家_安徽科艺美洁净科技有限公司 | 大学食堂装修设计_公司餐厅效果图_工厂食堂改造_迈普装饰 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 橡胶电子拉力机-塑料-微电脑电子拉力试验机厂家-江苏天源 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 恒温槽_恒温水槽_恒温水浴槽-上海方瑞仪器有限公司 | 武汉不干胶印刷_标签设计印刷_不干胶标签印刷厂 - 武汉不干胶标签印刷厂家 | 单柱拉力机-橡胶冲片机-哑铃裁刀-江都轩宇试验机械厂 | 断桥铝破碎机_铝合金破碎机_废铁金属破碎机-河南鑫世昌机械制造有限公司 | 压力控制器,差压控制器,温度控制器,防爆压力控制器,防爆温度控制器,防爆差压控制器-常州天利智能控制股份有限公司 | 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 智能化的检漏仪_气密性测试仪_流量测试仪_流阻阻力测试仪_呼吸管快速检漏仪_连接器防水测试仪_车载镜头测试仪_奥图自动化科技 | 校园气象站_超声波气象站_农业气象站_雨量监测站_风途科技 | 扫地车厂家-山西洗地机-太原电动扫地车「大同朔州吕梁晋中忻州长治晋城洗地机」山西锦力环保科技有限公司 | 齿轮减速马达一体式_蜗轮蜗杆减速机配电机-德国BOSERL齿轮减速电动机生产厂家 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 恒压供水控制柜|无负压|一体化泵站控制柜|PLC远程调试|MCGS触摸屏|自动控制方案-联致自控设备 | SPC工作站-连杆综合检具-表盘气动量仪-内孔缺陷检测仪-杭州朗多检测仪器有限公司 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 电采暖锅炉_超低温空气源热泵_空气源热水器-鑫鲁禹电锅炉空气能热泵厂家 | PVC地板|PVC塑胶地板|PVC地板厂家|地板胶|防静电地板-无锡腾方装饰材料有限公司-咨询热线:4008-798-128 | 牛皮纸|牛卡纸|进口牛皮纸|食品级牛皮纸|牛皮纸厂家-伽立实业 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 南京泽朗生物科技有限公司| 河南生物显微镜,全自动冰冻切片机-河南荣程联合科技有限公司 | 北京发电车出租-发电机租赁公司-柴油发电机厂家 - 北京明旺盛安机电设备有限公司 | 上海三信|ph计|酸度计|电导率仪-艾科仪器 | 杭州顺源过滤机械有限公司官网-压滤机_板框压滤机_厢式隔膜压滤机厂家 | 高中学习网-高考生信息学习必备平台 | 深圳律师咨询_深圳律师事务所_华荣【免费在线法律咨询】网 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 新中天检测有限公司青岛分公司-山东|菏泽|济南|潍坊|泰安防雷检测验收 | 蜜蜂职场文库_职场求职面试实用的范文资料大全 |