开发过程中遇到个需求,用户要提取的数据列中不包含 YF.ZF.JD的字符串, 方法1:select * from table  where  order_no not like '%YF%' and order_no not like '%ZF' and order_no not like '%JD%' 感 觉方法1有点笨,想到REGEXP_LIKE 可以实现包含多个,在前面加上 not 就可以实现不包含功能,方法如下: 方法2:select * from table where not reg…
在ORACLE数据库中如何查找那些字段里面包含中文的数据记录呢,有时候就是有这样的特殊需求,下面整理了一些判别字段中包含中文记录的几个方法 1:使用ASCIISTR函数判别   ASCIISTR函数说明: ASCIISTR返回字符的ASCII形式的字符串.非ASCII的字符被转化为\xxxx的形式. 使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有\xxx这样的字符.且简体汉字的编码范围是B0A1 - F7FE.如下例子所示 CRE…
-- 查询字段在什么表 select * from all_tab_cols t where t.column_name='ABC'; -- 查询字段在什么表并且 判断是否是主键 select * from all_tab_cols t left join ( select a.table_name, a.constraint_name, a.column_name, b.constraint_type -- 字段约束类型(P:主键) from user_cons_columns a inner…
对于内容很多的时候clob打字段模糊查询很慢,整理一个小方法: 1,在查询的列上建索引 2,对于要查询的clob字段使用一下语句创建索引   CREATE INDEX idx_zs_info_note ON zs_info(note) INDEXTYPE is CTXSYS.CONTEXT;     3.查询的时候对于clob字段使用如下方法,不要使用like  select * frominfo where contains(note,'XXXXX')>0  order by id desc …
oracle 在插入超长数据字符串时是默认转为varchar2类型,而这类型只有4000字节,即使通过oracle改变字符串类型为clob,也是在插入时默认转为varchar2类型. 处理方式:可以通过存储过程来增/改 declare hContent clob; begin hContent:='<DIV style="align-content: center"><TABLE style="FONT-SIZE: 10pt; WIDTH: 185mm; M…
昨天在更新一个表的字段时发现pl/sql弹出变量框,它认为我要改的字段值中包含未定义的变量.比如我执行一个脚本: update t_wlf_config set configvalue = 'hello&hi' where configname = 'hello'; 那么它会认为hi是个变量而提示你输入具体值.解决方案是用chr(38)替换&,再使用||关联字符串,如上面字段值改为'hello'||chr(38)||'hi'就没问题了.…
客户反映字段查询为井号,我自己没有遇到这种情况,于是上网百度了一下. 下面的答案很好地解决了问题,哈哈哈.…
今天在一张3W多记录的表里查非数字的异常数据~数据库太水,记录一发,因为2.5使用人员误输入为2..5.... select t.routecardlist_id,trim(translate(RTRIM(LTRIM(t.rated_hours)), '#0123456789', '#')) from MANU_ROUTECARDLIST t Where trim(translate(RTRIM(LTRIM(t.rated_hours)), '#0123456789', '#')) is not…
select in_ordr_no,count(*) from t_pay_jnl group by in_ordr_no having count(*) > 按照字段in_ordr_no查询重复的列,统计数量…
我想去掉字段值中的“_” select replace(fdisplayname,'_','') from SHENZHENJM1222.B replace 第一个参数:字段/值,第二个参数时替换字符,第三个是被替换成的字符. 如果是日期类型的,先to_char一下…