Oracle同时like多个值

今天应下游的需求,需要在作业表中查询多个作业的作业状态,但是下游提供的部分作业名不完整,开头可能少了几个字母,于是有了这篇记录。

两种方法:

  1. 使用or
    select * from tb 
    where name like '%AAA%' 
          or name like '%BBB%' 
          or name like '%CCC%'
    ;
    
  2. 创建一张临时表,比如tmp_tb,字段为data,存储的是需要模糊查询的所有值。查询语句如下:
    select a.* from tb a, tmp_tb b 
    where a.name like '%'||b.data||'%'  --注意这里百分号的写法,是单独引起来的
    ;
    
    这里注意一下第二种方式中的百分号都是单独引起来的。看到百度上有位老哥写的SQL(格式)是'%||b.data||%',可能是手误写错了,然后被很多人转载,也不知道究竟是不拘小节还是怎样...

就这些,打完收工。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。