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

Posted

tags:

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

参考技术A 表名和字段名中包含特定值吗 select * from all_tables where table_name like '%值%'; select * from all_tab_cols where COLUMN_NAME like '%值%';本回答被提问者采纳

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中怎么查询字段中的某个值的主要内容,如果未能解决你的问题,请参考以下文章

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

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

oracle 不等于1怎么查?

oracle数据库通过某个字段的值查询数据怎么写sql语句,不知道具体表,不知道是哪个字段?

在oracle中怎么查一个表中的的一个字段的重复数据

oracle 查询不连续的值?