今天应下游的需求,需要在作业表中查询多个作业的作业状态,但是下游提供的部分作业名不完整,开头可能少了几个字母,于是有了这篇记录。
两种方法:
- 使用
or
select * from tb where name like '%AAA%' or name like '%BBB%' or name like '%CCC%' ;
- 创建一张临时表,比如
tmp_tb
,字段为data
,存储的是需要模糊查询的所有值。查询语句如下:select a.* from tb a, tmp_tb b where a.name like '%'||b.data||'%' --注意这里百分号的写法,是单独引起来的 ;
这里注意一下第二种方式中的百分号都是单独引起来的。看到百度上有位老哥写的SQL(格式)是
'%||b.data||%'
,可能是手误写错了,然后被很多人转载,也不知道究竟是不拘小节还是怎样...
就这些,打完收工。