case when里的like功能 ////// 截取(substr)


case when里的like功能 
假如要用到case when又要用到like这样的功能,即如果字符串包含‘语文’就怎么怎么样,包含‘数学’就怎么怎么样,包含‘英语’就怎么怎么样,like是用于where中的,放在case when里面是无效的,可以用instr()这个函数来查找这些字符出现的位置,代替like的功能,这样写就好呐。 
case when instr(t.str,’语文’) > 0 then 0 
when instr(t.str,’语文’) > 0 then 1 
when instr(t.str,’语文’) > 0 then 2 
else 3 end 
另外在多表查询时,一开始我喜欢用in,在执行了一段时间后报出了ora-1几几几数字类型不正确的错误,分析了一下估计是in的括号里的数据太多的缘故,所以尽量不要用in,用关联查询就可以了。

 

  1. substr('ABCDEFG', 2, 3) = 'BCD'     
  2. substr('ABCDEFG', -2)  = 'FG'   
  3. substr('ABCDEFG', -4)  = 'DEFG'  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM