Oracle中instr函数使用方法
在Oracle中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,就是说从字符的开始到字符的结尾就结束
INSTR (源字符串, 目标字符串, 起始位置, 匹配序号)
INSTR方法的格式为
INSTR(src, subStr,startIndex, count)
src: 源字符串
subStr : 要查找的子串
startIndex : 从第几个字符开始,负数表示从右往左查找。(此参数可选,默认为1)
count: 要找到第几个匹配的序号。(此参数可选,默认为1)
返回值: 子串在字符串中的位置,第1个为1;不存在为0。(特别注意:如果src为空字符串,返回值为null)。
INSTR(src, subStr,startIndex, count)
src: 源字符串
subStr : 要查找的子串
startIndex : 从第几个字符开始,负数表示从右往左查找。(此参数可选,默认为1)
count: 要找到第几个匹配的序号。(此参数可选,默认为1)
返回值: 子串在字符串中的位置,第1个为1;不存在为0。(特别注意:如果src为空字符串,返回值为null)。
举例:
scenarioinfo 中有60条数据,其中字段ywwd不为空的有40条(其中包含“积分”的有30条),字段ywwd为空的有20条。
查询scenarioinfo 表中字段ywwd包含“积分”的语句(返回30条数据):
select id, ywwd from scenarioinfo where instr(ywwd,‘积分‘,1,1) > 0;
查询scenarioinfo 表中字段ywwd不包含“积分”的语句(这里返回的结果集中不包含ywwd字段为null的结果,返回10条数据):
select id, ywwd from scenarioinfo where instr(ywwd,‘积分‘,1,1) = 0;
如果想返回的结果集中包含ywwd字段为null的,可以这样写(返回30条数据):
select id, ywwd from scenarioinfo where instr(ywwd,‘积分‘,1,1) = 0 and ywwd is null;
相关推荐
LuoXinLoves 2020-06-10
Justdoit00 2020-06-01
昊 2019-12-11
holyrong 2014-07-18
Lifeisforsharing 2019-05-16
jbossllx 2018-11-21
TongFn 2014-06-11
oracleerp 2012-07-20
LinuxOracleWf 2012-06-16
Oracle企业 2011-12-24
LinuxOracleWf 2011-12-22
MySQLl 2019-04-17
LinuxOracleWf 2009-12-31
一昕之代码 2019-04-08
shilukun 2019-04-06
罗罗 2019-04-05
ToGo 2019-04-04
ltoper 2019-04-04
罗罗 2019-04-03
htmlman0 2006-11-15