首页
学习
活动
专区
圈层
工具
发布

字符转换的SQL需求增强

上次《字符转换的SQL需求》讨论的需求,使用各种函数,实现了字符转换的需求,但通过朋友指教,其实存在些问题。...这是原来的写法, SQL> SELECT listagg(x.a, ';') within GROUP (ORDER BY x.a) FROM 2 (SELECT substr(regexp_substr...(a, '[^,]+')) x; 因为当时只测了一条数据的场景,所以用这种方法,对多条数据,是会有问题的,如下所示,test存在两条数据,执行SQL,并不是我们需要的结果,无法保证汇总后的顺序, SQL...REGEXP_COUNT函数, REGEXP_COUNT complements the functionality of the REGEXP_INSTR function by returning...黄老师则指出,用Oracle的SQL可以直接在达梦中跑。 谢谢各位朋友,若还有好的建议,欢迎随时留言,谢谢。

64910
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    巧用SQL:Oracle中实现split相关方法总结

    尚世波 从事数据库方面工作多年,专注于pl/sql开发、数据库设计、优化方面的研究,喜欢挑战 前文回顾:巧用SQL:oracle pl/sql split函数 看完上次的分享, 我很有感触,在软件开发过程中经常会出现按照某个字符进行分割字符串的情形...文章以‘,’(英文逗号)分割为例,另外设想传入的字符串为未知变量,书写通用的sql进行说明和演示 方法一:sql实现方法之正则表达式 可以使用 Oracle 自带的正则函数 regexp_count 和...但要注意的是,该方法中使用的正则函数 regexp_substr 在10g及以后的版本中执行都是比较顺利的,而regexp_count 函数则需要在11g及以后的版本中才能执行。...('1,25,3,ftet775##,8,6,9','[,]')- regexp_count('1,25,3,ftet775##,8,6,9','(,$)')+1; 结果如下: 方法二:SQL实现方法之一般函数写法...相比较第一种正则函数的方法,普通的sql函数比较通用化,各个版本都支持。

    11.9K50

    Oracle存储过程(while循环、for循环、if判断、sql拼接、游标)

    3 WHILE循环 写一个WHILE循环,用来动态拼接部分SQL(关联条件部分)。...; --当前循环取到的值 CURRENT_VALUE VARCHAR2(32); --存放计算值,用于判断是每组字段的前后者,0为前者,1位后者 CALCULATED INT; --拼接好的SQL...在末端追加逗号,否则最后一个字符无法识别 STR := STR || ','; DBMS_OUTPUT.PUT_LINE('待拼接的字段:' || STR); --计算逗号数量 SELECT REGEXP_COUNT...给待拼接的字段赋值 STR := TEMP.ASSOCIATION; --在末端追加逗号,否则最后一个字符无法识别 STR := STR || ','; --计算逗号数量 SELECT REGEXP_COUNT...EXECUTE IMMEDIATE 执行动态语句,可以用于执行动态拼接好的SQL。 CURSOR IS 游标,配合FRO使用。

    1.1K10
    领券
    首页
    学习
    活动
    专区
    圈层
    工具
    MCP广场