当前位置: 首页 > news >正文

崇安区网站建设价格重庆市建设工程信息网官网安全监督管理平台

崇安区网站建设价格,重庆市建设工程信息网官网安全监督管理平台,备案 网站名称 怎么改,营销网站建设哪家快前言 近期在工作中遇到某表某字段是可扩展数据内容#xff0c;信息以逗号分隔生成的#xff0c;现需求要根据此字段数据在其它表查询相关的内容展现出来#xff0c;第一想法是切割数据#xff0c;以逗号作为切割符#xff0c;以下为总结的实现方法#xff0c;以供大家参…前言 近期在工作中遇到某表某字段是可扩展数据内容信息以逗号分隔生成的现需求要根据此字段数据在其它表查询相关的内容展现出来第一想法是切割数据以逗号作为切割符以下为总结的实现方法以供大家参考、指教。 1、regexp_substr函数通过正则来拆分字符串函数用法为:(必须是oracle 10g的版本才支持 REGEXP_SUBSTR函数格式如下 function REGEXP_SUBSTR(String, pattern, position, occurrence, modifier) __srcstr 需要进行正则处理的字符串 __pattern 进行匹配的正则表达式 __position 起始位置从第几个字符开始正则表达式匹配默认为1 __occurrence 获取第几个分割出来的组分割后最初的字符串会按分割的顺序排列成组默认为1 __modifier 模式i不区分大小写进行检索c区分大小写进行检索。默认为c。针对的是正则表达式里字符大小写的匹配 ------------------------------------------------------------------------------------------------------------------- 此函数只能每次取一个字符串出来有点鸡肋字符串中逗号的数量是不确定的如果有2个逗号需要提取的字段就是3个。为了确定有多少个需要提取的字段需要用到connect by命令实现动态参数构造连续的值通过原字符串长度和被替换后字符串长度相减可以得到原字符串中的逗号数量加1后得到需要提取的匹配字段数量。 SQL: select bs from cs1_0 where slid201804100038 --正则分割后的第一个值 SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid201804100038),[^,],1,1,i) as 分割后结果 FROM DUAL; --获取一个多个数值的列从而能够让结果以多行的形式展示出来 SELECT LEVEL FROM DUAL CONNECT BY LEVEL 5; --将上面REGEXP_SUBSTR的occurrence标识第几个匹配组实现动态参数使用 connect by组合起来 SELECT REGEXP_SUBSTR((select bs from cs1_0 where slid201804100038),[^,],1,LEVEL,i) as 分割后结果 FROM DUAL CONNECT BY LEVEL 5; --优化一下动态获匹配组标识行数 select regexp_substr((select bs from cs1_0 where slid201804100038),[^,],1,LEVEL,i) as 分割后结果 from dual connect by level length((select bs from cs1_0 where slid201804100038))-length(regexp_replace((select bs from cs1_0 where slid201804100038),,,))1; 2、以Type类型和function函数的方式实现 1建立TYPE类型CREATE OR REPLACE TYPE strsplit_type_12 IS TABLE OF VARCHAR2 (4000)2建立function存储函数 create or replace function strsplit_66(p_value varchar2,p_split varchar2 ) --字符串切割符 --根据特定字符来切割字符串 return strsplit_type_12 pipelined is v_idx integer; v_str varchar2(500); v_strs_last varchar2(4000) : p_value;begin loopv_idx : instr(v_strs_last, p_split);exit when v_idx 0;v_str : substr(v_strs_last, 1, v_idx - 1);v_strs_last : substr(v_strs_last, v_idx 1);pipe row(v_str); end loop; pipe row(v_strs_last); return; end strsplit_66;SELECT ROWNUM 序号, a.* FROM TABLE(strsplit_66((select bs from cs1_0 where slid201804100038), ,)) a; 测试一下 总结 关于Oracle以逗号分隔的字符串拆分为多行数据的文章就介绍至此更多相关Oracle拆分多行数据内容请搜索编程教程以前的文章希望大家多多支持编程教程
http://www.yutouwan.com/news/269440/

相关文章:

  • php网站培训如何提升网站营销力
  • 网站代运营 如何纳税微商城开发hg华网天下实惠
  • 企业网站建立如何做网站企划案
  • 网站开发机构如何搭建网络论坛平台
  • 安徽php网站建设广州安全教育平台登录
  • 淘客网站开发视频教程西安跨境电子商务平台网站
  • 网站建设微商城多少钱wordpress百度流量统计
  • 专业郑州做网站如何建设网页游戏网站
  • 做鞋子有什么好网站在上阿里云做网站
  • 做网站开发有前途么做违规网站
  • 爱网站关键词挖掘网页制作素材1001无标题
  • 直接做海报的网站西安市建设工程信息网截图
  • seo高手培训SEO网站布局优化
  • 网站商城建设方案网站建设的组织机构
  • 网站建立风格wordpress 浏览历史
  • 德赞网站建设网站制作网站建设与会展
  • 服饰工厂网站建设网站建设后应该干什么
  • 江西省建设厅官方网站国内外贸网站建设公司
  • 常德地区网站建设可以用vs做网站建设吗
  • 网站怎做百度代码统计wordpress和微信公众号互通
  • 网站做业务赚钱特网站建设
  • 温州网站建设服务中心洛阳恒凯做的网站有哪些
  • 网站换空间商什么意思wordpress single 主题
  • 兰州网站定制公司梅州基建
  • 企业品牌网站营销做网站开发要注册
  • 经过学习网站开发后的心得体会网站建设哪里比较好
  • 写网站的教程wordpress网站怎么设置关键词
  • 书生网站找网站设计公司 看那些
  • 大型网站建设优化企业制作一款app需要多少钱
  • ppt模板网站排行网站建设方案200字