hive hql去除数据中的空格内容
一、去除空格和tab的方法:
1、去除空格
用trim(只能将标准的英文空格删掉)
2、去除tab用如下方法
select regexp_replace(secdomainname,’\s+’,’’) from dwb_cndns_node_secdomain_d where …
3、有中文的的空格去除
regexp_replace(NVL(column,’’),’[\s]+|[\u3000]+|[,]’,’’) as column
二、去除数据库表中tab、空格、回车符等特殊字符的解决方法
按照ASCII码,
SELECT char(64)
例如64 对应 @,则select REPLACE(‘1321@qq.com’,char(64),’kk’)
则结果为 1321qq.com
依此类推,
去掉其他特殊符号,参考ASCII码对照表,
去掉tab符号为 select REPLACE(‘要替换的字符或列名’,char(9),’替换的目标字符’)
去掉空格符号为 select REPLACE(‘要替换的字符或列名’,char(32),’替换的目标字符’)
去掉换行符号为 select REPLACE(‘要替换的字符或列名’,char(10),’替换的目标字符’)
去掉回车符号为 select REPLACE(‘要替换的字符或列名’,char(13),’替换的目标字符’)
三、sqoop做数据迁移,去除空格
导入的sql中加上一句:
hive-delims-replacement "anything"