oracle 10g 怎么查询某个字段值包含小写字母

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle 10g 怎么查询某个字段值包含小写字母相关的知识,希望对你有一定的参考价值。

可以用正则表达来实现。

如,以下两个查询:

select  case when regexp_like(\'123-ASDF-119\',\'([a-z])\') then \'包含小写字母\' else \'不包含小写字母\' end  from dual;

结果为:

select  case when regexp_like(\'123-asdf-119\',\'([a-z])\') then \'包含小写字母\' else \'不包含小写字母\' end  from dual;

结果为:

参考技术A 看看下边的语句可不可以\r\nselect case when regexp_like(字段名,'.([a-z]+|[A-Z])') then '包含字母' else '不包含字母' end \r\nfrom 表名字\r\n\r\n正则表达式函数:regexp_like\r\n关键的参数是第二个:'.([a-z]+|[A-Z])'其中.表示匹配任何单字符,换行符除外\r\n[a-z]是小写字母|或[A-Z]大写字母本回答被提问者和网友采纳

oracle 查询不连续的值?

有一字段是文件编号,docNumber, 正常是从1开始的,每次编新文件时,会找数据库中最大的,再加1,就是自动生成当前的编号。

但是现在有个问题,有的文件被删除了,比如30号文件被删除了,现在自动生成的逻辑只能出现最大值,比如40号,我想问,怎么才能查出从1到40中,第一个中断的数字?

参考技术A 我写了个函数,你试试
返回值就是中断的那个不存在的数字,你把函数里面的表名和字段名替换成你的表

CREATE OR REPLACE FUNCTION GET_BROK RETURN NUMBER IS
RESULT NUMBER;
V_NUM NUMBER;
BEGIN
V_NUM := 0;

FOR CUR IN (SELECT DOCNUMBER FROM TABLE1 ORDER BY DOCNUMBER) LOOP

IF CUR.DOCNUMBER <> V_NUM + 1 THEN
RESULT := V_NUM + 1;
RETURN(RESULT);
END IF;

V_NUM := CUR.DOCNUMBER;

END LOOP;
RESULT := V_NUM + 1;
RETURN(RESULT);
END GET_BROK;追问

能不能麻烦写个SQL呀

追答

函数完全可以,为什么非要用一句话实现这个功能?
创建这个函数后,用一句select语句调用这个函数就可以了。

参考技术B 在表A中保存1到40的连续值,在表B中保存1到40的不连续值,则SQL如下:
select a.id from tableA a where a.id not in (select b.id from tableB b)
参考技术C 查询的!

以上是关于oracle 10g 怎么查询某个字段值包含小写字母的主要内容,如果未能解决你的问题,请参考以下文章

oracle中怎么查询字段中的某个值

oracle 查询不连续的值?

急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

oracle 如何查询字段第一位不是字母,条件如何写

oracle查询日期字段大于某个日期值时sql语句怎么写

Oracle查询某个字段是不是同时包含几个值?