如何对ORACLE里的CLOB字段进行模糊查询?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何对ORACLE里的CLOB字段进行模糊查询?相关的知识,希望对你有一定的参考价值。
参考技术A 语法:select * from TABLE表 where\\x0d\\x0adbms_lob.instr(字段名(clod类型),\'查询条件\',1,1) > 0\\x0d\\x0a\\x0d\\x0acreate table products(\\x0d\\x0aproductid number(10) not null,\\x0d\\x0aname varchar2(255),\\x0d\\x0adescription CLOB);\\x0d\\x0a\\x0d\\x0a查询语句:\\x0d\\x0a\\x0d\\x0aselect t.productid, t.name from products t\\x0d\\x0a\\x0d\\x0awhere dbms_lob.instr(t.description, \'aaa\', 1, 1) > 0;\\x0d\\x0a\\x0d\\x0a在Oracle中,可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为:\\x0d\\x0ainstr(sourceString,destString,start,appearPosition).\\x0d\\x0a其中sourceString代表源字符串;destString代表想聪源字符串中查找的子串;start代表查找的开始位置,该参数可选的,默认为\\x0d\\x0a1;appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;如果start的值为负数,那\\x0d\\x0a么代表从右往左进行查找。\\x0d\\x0a返回值为:查找到的字符串的位置。oracle 中clob内容怎么查询
表table 字段A(SYSTEM.XMLTYPE) 内容全是clob,要怎么查询出A字段的内容,求大佬指点。
to_char转换一下就行了
select to_char(clob字段) from 表名
我这样转换试过,提示expected number got -
大佬帮忙解惑下,谢谢。
估计是超长了
select substr(to_char(clob字段),1,4000) from 表名不过这样会显示不全,4000个字符后不显示了
大佬,还是报一样的错误。。。
追答你把报错截个图?
追问怎么是报的数据类型的错误,奇怪
select to_char(substr(clob字段,1,4000)) from 表名这样还不行吗,改了一下
现在提示character string buffer too small
追答4000调小点,2000或1000什么的
追问调小了,几个参数试了还是一样。。
追答私信你,留意一下
参考技术A 应该是select to_char(substr(clob字段,1,4000)) from 表名先截取字符串,再转换to_char
以上是关于如何对ORACLE里的CLOB字段进行模糊查询?的主要内容,如果未能解决你的问题,请参考以下文章