HIVE 转义字符与特殊字符处理

HIVE 转义字符与特殊字符处理

Hadoop和Hive都是用UTF-8编码的,hive用java写的,所以同Java一样都是'\'转义

很多函数会用到转义字符,比如split、regexp_replace等

但是有时候需要两个转义字符"\\",或者四个转义字符“\\\\”

单转义符'\':常规的为'\'进行字符串的转义双转移符'\\':正则表达式匹配或者split函数中包含转义符四个转义符'\\\\':split函数中存在转义符'\'为分隔符分号:';'无法识别和转义,需要使用ASCII码处理(只要使用到了函数就会报错)具体案例应用:

select 'a\b' as case1

,'a\\b' as case2

,'\134' as case3

,'\\' as case4

,'\;' as case5

,'\073' as case6

,split('a\\b','\\\\') as case7

,split('a\134b','\134\134') as case8

,split('a\;b','\;') as case9

,split('a\073b','\073') as case10

-- 使用针对需要转义的符号需要使用\进行转义

-- 使用ASCII码可以免除转义过程,但在函数中可能存在二次编码转义

查询结果:

不清楚和麻烦尝试的,可以使用八进制的ASCII码,对应关系进行修改

ASCII码表:

相关科技文章

吉他到底怎么弹啊
365平台网页版登录官网

吉他到底怎么弹啊

⌚ 06-30 👁️ 9266
哪吒 - QQ飞车手游WIKI
365比分足球官网

哪吒 - QQ飞车手游WIKI

⌚ 07-28 👁️ 4744
高达对战
beat365手机版官方

高达对战

⌚ 08-17 👁️ 9886
苹果电脑如何还原系统
365比分足球官网

苹果电脑如何还原系统

⌚ 08-11 👁️ 1868
王者荣耀荣耀战令进阶卡好还是典藏进阶卡好 两者性价比分析
365平台网页版登录官网

王者荣耀荣耀战令进阶卡好还是典藏进阶卡好 两者性价比分析

⌚ 07-31 👁️ 8083

合作伙伴