hive中的转义字符
1、建立包含特殊字符的字符串,sql如下:
select concat_ws('|','123','456','789') from dual;
其中concat_ws为连接函数,查询结果为:
123|456|789
2、上面用特殊字符'|'讲几个字符串合并,那么接下来用split函数把拼好的字符串拆开,看看什么效果
select split(concat_ws('|','123','456','789'),'|')from dual;
结果: ["","1","2","3","|","4","5","6","|","7","8","9"]
3、上面的结果显然不是正确的,那么用'\'转义呢,咱们再看看效果
select split(concat_ws('|','123','456','789'),'\|')from dual;
结果:["","1","2","3","|","4","5","6","|","7","8","9"]
4、结果跟上次一样,还是不对,那么怎么才是正确的呢?试试下面的语句吧
select split(concat_ws('|','123','456','789'),'\\|')from dual;
结果:
5、这次的结果总算对了,总结下就是要有两个'\'对特殊字符进行转义。不信的话我们来试试其他函数的效果。
我们把'|'替换为两个0(即00),看看效果
select regexp_replace(concat_ws('|','123','456','789'),'\\|','00')from dual;
结果:1230045600789
6、上面的结果显然是正确的。总结下,如果对hive特殊字符进行转义处理,要用两个\哦,即'\\'
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:93
阅读量:88
阅读量:52
阅读量:56
阅读量:91