案例:
select
PHONE,
replace(PHONE,' ',''), --去空格
replace(replace(PHONE,' ',''),'-',''),--去'-'
CONCAT(SUBSTR(replace(replace(PHONE,' ',''),'-',''),1,3),CONCAT('****',SUBSTR(replace(replace(PHONE,' ',''),'-',''),8,11))), --隐藏手机号第4-7位
--手机号中误出现姓名:手机号为空的仍然是空;名字为二位、三位的隐藏第二位;其它正常的手机号隐藏第4-7位
case when replace(PHONE,' ','') is null then null
when length(replace(PHONE,' ',''))=2 then CONCAT(SUBSTR(replace(PHONE,' ',''),1,1),'*')
when length(replace(PHONE,' ',''))=3 then CONCAT(SUBSTR(replace(PHONE,' ',''),1,1),CONCAT('*',SUBSTR(replace(PHONE,' ',''),3,3)))
else CONCAT(SUBSTR(replace(replace(PHONE,' ',''),'-',''),1,3),CONCAT('****',SUBSTR(replace(replace(PHONE,' ',''),'-',''),8,11))) end PHONE
from dual
去空格函数:
LTRIM(PHONE) --去掉左边空格
RTRIM(PHONE) --去掉右边空格
replace(PHONE,' ','') --去掉所有空格
求字符/字节长度函数:
LENGTH( )函数:求字符长度
LENGTHB( )函数:求字节长度
1个中文、1个英文字母、1个数字、1个中文符号、1个英文符号、1个全角符号、1个空格:1个字符;
1个中文=2个字节,1个英文字母=1个字节,1个数字=1个字节,1个英文符号=1个字节,1个全角符号=2个字节,1个空格=1个字节。