欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

这个sql如何写,或者有没有这样的字符串函数来实现

更新时间: 2014-01-05 02:12:36 责任编辑: Author_N1

 

这个SQL怎么写,或者有没有这样的字符串函数来实现

--参考方法--
自己写个函数,大致类似下面

      v_length := LENGTH(v_field);
      WHILE (v_start <= v_length) LOOP
        v_index := INSTR(v_field, ',', v_start);
      
        IF v_index = 0 THEN
          v_word := SUBSTR(v_field, v_start);
          v_start := v_length + 1;
        ELSE
          v_word := SUBSTR(v_field, v_start, v_index - v_start);
          v_start := v_index + 1;
        END IF;
      END LOOP;

--参考方法--
SELECT * FROM t1 WHERE REGEXP_LIKE(col1,'^([^;]+(;)){4}([^;]+)$');

--参考方法--


--使用正则表达式

Select * From Test1
where case when  regexp_like (col1,'\w+;\w+;\w+;\w+') then 1 else 0 end =1;

--参考方法--
引用:
怎么解决?


…… 你确定是在用Oracle数据库吗?
--参考方法--
引用:
Quote: 引用:

Quote: 引用:



怎么解决?


…… 你确定是在用Oracle数据库吗?


不是Oracle数据,是别的数据库。




好歹也两级专家了,发帖也太马虎了吧。什么数据库都不说下
--参考方法--
length(col1)-length(replace(col1,';',''))=4 and length(col1)=length(replace(col1,';;','')可解决
--参考方法--
引用:
能否帮忙用: REGEXP_INSTR 来实现



SELECT * FROM t1 WHERE REGEXP_INSTR(col1,'^([^;]+(;)){4}([^;]+)$') > 0;
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:12:36
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/6979/
本文WWW.DOC100.NET DOC100.NET版权所有。