hive中的转义字符

时间:2024-10-13 01:57:22

1、建立包含特殊字符的字符串,sql如下:select concat_ws('|','123','456','789') from dual;其中concat_ws为连接函数,查询结果为:123|456|789

hive中的转义字符

2、上面用特殊字符'挢旗扦渌;|'讲几个字符串合并,那么接下来用split函数把拼好的字符串拆开,看看什么效果sele艘早祓胂ct split(concat_ws('|','123','456','789'),'|')from dual;结果: ["","1","2","3","|","4","5","6","|","7","8","9"]

hive中的转义字符

3、上面的结果显然不是正确的,那么用'\'转义呢,咱们再看看效果select split(co荏鱿胫协ncat_ws('|','123','456','789'),'\|')from dual;结果:["","1","2","3","|","4","5","6","|","7","8","9"]

hive中的转义字符

4、结果跟上次一样,还是不对,那么怎么才是正确的呢?试试下面的语句吧select split(concat_ws('|','123','456','789'),'\\|')from dual;结果:

hive中的转义字符

5、这次的结果总算对了,诸拗杏末总结下就是要有两个'\'对特殊字符进行转义。不信的话我们来试试其他函数的效果。我们把媪青怍牙'|'替换为两个0(即00),看看效果select regexp_replace(concat_ws('|','123','456','789'),'\\|','00')from dual;结果:1230045600789

hive中的转义字符

6、上面的结果显然是正确的。总结下,如果对hive特殊字符进行转义处理,要用两个\哦,即'\\'

© 手抄报圈