hive的正则函数
1.用hive的rlike函数替换Oracle的regexp_like函数:
Oracle原有逻辑:
(CASE
WHEN REGEXP_LIKE(column_a,
'^([0]+|[1]+|[2]+|[3]+|[4]+|[5]+|[6]+|[7]+|[8]+|[9])') AND
LENGTH(column_a)=8 THEN
'人员代码'
ELSE
column_a
END) AS C102,
迁移到hive中:
(CASE
WHEN column_a RLIKE '^([0]+|[1]+|[2]+|[3]+|[4]+|[5]+|[6]+|[7]+|[8]+|[9])' AND
LENGTH(column_a)=8 THEN
'人员代码'
ELSE
column_a
END) AS column_a,
2.hive获取指定日期所在季度:
floor(substr(column_b,6,2)/3.1)+1 || '季度' as column_b