因为sql技能时灵时不灵,此贴记录日常用到的一些sql语法
\s表示匹配任何空白字符,包括空格、制表符、换页符等等, 等价于[ \f\n\r\t\v]
\f -> 匹配一个换页
\n -> 匹配一个换行符
\r -> 匹配一个回车符
\t -> 匹配一个制表符
\v -> 匹配一个垂直制表符
而"\s+"则表示匹配任意多个上面的字符
regexp_replace(name, '\\s+', '') 去除非法字符
substr(string A,int start)和 substring(string A,int start),用法一样
功效:返回字符串A从下标start位置到结尾的字符串
round:直接四舍五入
ceil:向上取整
floor:向下取整
split() 结果类型是array ,获取最后一个元素 ,size获取数组长度,减1得到下标
select split('a_b_c_Wave2_d-S3','_')[size(split('a_b_c_Wave2_d-S3','_'))-1]
特殊字符转义,例如"." , "|"
impala不支持split复杂数据类型