sql怎样定位一个字符所在的位置?(oracleinstr的用法有哪些)

sql怎样定位一个字符所在的位置?

mysql:positon(substr,str)返回子串substr在str中第一次出现的位置oracle:instr(c1,c2,I,J)c1:被搜索的子串c2:希望搜索的字符串I:搜索开始位置,默认为1J:第几次出现,默认为1sqlserver:charindex(p1,p2,p3)返回字符串中某个指定的子串出现的开始位置P1:要找寻的子串p2:被搜索的字符串p3:搜索开始位置不知道你用的是什么数据库,其它数据库我不熟,你自己在网上找找资料吧

如何从ORACLE中读取CLOB类型的数据?

select to_char(clob字段) from 表A,就可以看到clob字段的数据。 在Oracle中,可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符。其语法为: instr(sourceString,destString,start,appearPosition。

其中sourceString代表源字符串; destString代表想聪源字符串中查找的子串; start代表查找的开始位置,该参数可选的,默认为1; appearPosition代表想从源字符中查找出第几次出现的destString,该参数也是可选的,默认为1; 如果start的值为负数,那么代表从右往左进行查找。 返回值为:查找到的字符串的位置。

这样读取:

declare /*声明PL/SQL中程序块中的变量info_var,用户存放查询到的info列的数据,其类型必须和表中的字段类型一致*/ info_var clob; --查询数据长度 amount integer; --偏移量,查询起始位置 offset integer; --需要打印的字节,存储变量 info_output varchar2(1000); begin --查询要打印的字段信息并赋值给info_var select info into info_var from t_clob where id = 1; --查询100长度 amount :=100; --从第一个开始 offset :=1; --用dbms_lob程序包读取数据 dbms_lob.read(info_var,amount,offset,info_var); --用dbms_lob程序包打印读取得数据info_var dbms_output.put_line(info_var); end; /

到此,以上就是小编对于oracle中instr的用法的问题就介绍到这了,希望这2点解答对大家有用。


本文名称:sql怎样定位一个字符所在的位置?(oracleinstr的用法有哪些)
文章路径:http://csdahua.cn/article/dhcggsd.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流