Oracle中如何查询CLOB字段类型的内容

语法

select * from table_name where dbms_lob.instr(字段名(clod类型),'查询条件',1,1) > 0;  

具体实例

select t.* t.rowid from **BUSI_MESSAGE_LOG t
wheredbms_lob.instr(t.mesbody,'2017',1,1) > 0;

语法解释

在Oracle中,可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为:

instr(sourceString,destString,start,appearPosition)。

eg: dbms_lob.instr(字段名(clod类型),'查询条件',1,1)

其中sourceString代表想要查询的字段;

destString代表查询条件;

start代表查找的开始位置,该参数可选的,默认为1;

appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1;

如果start的值为负数,那么代表从右往左进行查找。

返回值为:当目标字符串没有在源字符串中找到,返回0;当源字符串或目标字符串为null,则返回null;

其他情况则返回目标字符串在源字符串中的其实位置

你可能感兴趣的:(Oracle中如何查询CLOB字段类型的内容)