工作中遇到把数据库中的某字段里中间几位用*号代替,用sql实现如下。
这里用到两个函数replace和substr。
substr(string str,num start,num length);
str为所要截取的字符串,start为起始位置,从1开始,length为截取的长度。
replace(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串
SELECT replace(bankCardNo,substr(bankCardNo,6,6),'******') as bankCardNo FROM p2p_order where productCode = #{productCode} ORDER BY uid
这里用到两个函数replace和substr。
substr(string str,num start,num length);
str为所要截取的字符串,start为起始位置,从1开始,length为截取的长度。
replace(str,from_str,to_str)
在字符串 str 中所有出现的字符串 from_str 均被 to_str替换,然后返回这个字符串