MYSQL 常用函数、条件判断、正则等的使用案例
程序员文章站
2022-05-30 10:22:38
...
MYSQL 常用函数、条件判断、正则等的使用案例
巧用函数、实现对数据进行匹配、加密、截取、格式化处理
- 替换文本:REPLACE(obj,from,to)
- 截取字符串:SUBSTR(obj,from,to)
- 正则判断:obj REGEXP “^[1][3456789]$”
- 条件判断(支持两个以上):CASE WHEN ’条件1‘ THEN ’结果1‘ WHEN ’条件2‘ THEN ’结果2‘ ELSE ’结果3‘ END
- 条件判断:IF(‘条件’,‘结果1’,‘结果2’)
- UUID:UUID()
- 判断非空:IFNULL(obj,to)
- 拼接字符串:CONCAT(str1,str2,…)
以下SQL可直接执行查看效果(将字符串改为要处理的字段名即可):
SELECT
REPLACE(UUID(),'-','') AS uuid,
IFNULL(NULL,0) AS nullVal,
REPLACE('17612345678', SUBSTR('17612345678',4,4), '****') AS phoneNumber, -- 处理手机号
(CASE WHEN '15112345678' REGEXP "^[1][35678][0-9]{9}$" THEN REPLACE('15112345678', SUBSTR('15112345678',4,4), '****') ELSE '15112345678' END) AS `name`,
(CASE WHEN 'nkxrb' REGEXP "^[1][35678][0-9]{9}$" THEN REPLACE('nkxrb', SUBSTR('nkxrb',4,4), '****') ELSE 'nkxrb' END) AS `nickname`,
IF('nkxrb15112345678' REGEXP "^[1][35678][0-9]{9}$",REPLACE('nkxrb', SUBSTR('nkxrb',4,4), '****'),'nkxrb') AS name2,
CONCAT('nk','xr','b') AS str
FROM DUAL
上一篇: verilog常用系统函数
下一篇: MySQL学习4:数据的增删改查CRUD