select * from area_info a
where a.area_name not like '内蒙古%'
and a.area_name not like '辽宁%'
and a.area_name not like '江苏%'
缩减命令长度,把 and 中的条件合并在 where 中,可以用哪个函数来实现?!
select *
from area_info
where not regexp_like(area_name, '^(内蒙古|辽宁|江苏)')
select * from area_info a where substr2( a.area_name ,0,2) not in ('内蒙','辽宁','江苏');
hive函数 like是通配符,rlike是正则表达式,而且你应该用or,不能用and把。and是并且的意思,or是或者的意思。看你数据,如果用and那么你出来没数据
select * from area_info a
where a.area_name not rlike '内蒙古|辽宁|江苏'