hive中的模糊匹配之like的用法
现在看一段Hsql,执行时会报错吗?
select
*
from ods.ods_sjc_events_rt
where event like '%OCR%'
;
答案是显而易见的,这样的写法在MySQL中是不会报错的,但在hive中就会报错,由于hive会将一些特殊字符作转义处理,导致某些语句无法通过传统sql语法实现。例如要筛选某字段中所有带’OCR’的取值,在MySQL中的条件可以写成上面的SQL,但在hive中则不行,那在hive中该怎么写呢?
正确的写法如下:(亲测有效)
select
*
from ods.ods_sjc_events_rt
where event like concat('%','OCR','%')
;