#每天一点点,记录工作中实操可行#
Oracle 中将电话号码中间4位数以星号*代替
select replace(phone,substr(phone,4,4),'****') from table_name
excel 中将电话号码中间4位数以星号*代替
REPLACE(电话号码所在单元格,4,4,"****")
#每天一点点,记录工作中实操可行#Oracle 中将电话号码中间4位数以星号*代替select replace(phone,substr(phone,4,4),'****') from table_nameexcel 中将电话号码中间4位数以星号*代替REPLACE(电话号码所在单元格,4,4,"****")...
when instr(字段, ‘.’) = 0
then subser(字段, 0, 1) || regexp_replace(substr(字段, 2) ‘\d’, ‘’)
subser(字段, 0, 1) || regexp_replace(substr(substr(字段, 1, instr(字段,’.’) -1), 2), \d’, '’)
end 字段
如果有负数,则先判断负数情况
1、REPLACE
语法:REPLACE(char, search_string,replacement_string)
用法:将char中的字符串search_string全部转换为字符串replacement_string。
举例:SQL> select REPLACE('fgsgswsgs', 'fk' ,'j') 返回值 from dual;
我可以回答这个问题。Oracle提供了一个REGEXP_LIKE函数,可以用来检验座机号码是否符合指定的格式。例如,下面的语句可以检验一个座机号码是否符合中国大陆的格式:
SELECT CASE WHEN REGEXP_LIKE('010-12345678', '^(\d{2,3}-)?\d{7,8}$') THEN '符合格式' ELSE '不符合格式' END FROM DUAL;
其中,正则表达式'^(\d{2,3}-)?\d{7,8}$'表示座机号码可以有区号,也可以没有区号,区号的格式是开头的2或3位数字,号码的格式是7或8位数字。