天天看点

mysql数据库字段中存在隐藏字符CHAR(0)--解决小记

  在一次数据处理过程中,发现 有几条数据不能直接存储到pgsql 中,mysql 清洗数据,最后落地pgsql中, 通过报错 该数据字段中 存在ckar(0) 字符.

   经过百度 Google 发现 ,如果字符串中包含了 char(0) 的字符,字符后面内容是显示不出来的

--示例
select 
    concat('1',char(0),'2'), --隐藏了数字2
    replace(concat('1',char(0),'2'),char(0),'$') --替换char(0),后面的数字显示出来了
;


SELECT
	 real_name, --原字段数据查询显示
	 replace(ifnull(real_name,null),char(0),'$') as real_name, --替换了char(0),之后显示的数据
	 SUBSTRING_INDEX(real_name,char(0),1) as real_name, --截取char(0)之前的数据
	 LENGTH(real_name),  --截取之前的字符长度
	 LENGTH(SUBSTRING_INDEX(real_name,char(0),1)) --处理数据之后的长度
FROM labourer where id = 4611857465692091119


           
mysql数据库字段中存在隐藏字符CHAR(0)--解决小记
mysql数据库字段中存在隐藏字符CHAR(0)--解决小记
  • hive中处理包含char(0)字段数据
select 
	real_name,
	substring_index(real_name,chr(0),1) 
from 
	ads_gx_project_attendance_detail_transition
where length(trim(real_name))>8;

           
  • 结果
    mysql数据库字段中存在隐藏字符CHAR(0)--解决小记