MySQL 的强大,超出你的想象

原创
2022/01/12 09:57
阅读数 58

昨天晚上老板说,很多会员参加完活动,没有返还积分,要我排查一下,看了看,是前任写的存储过程,长达 100 行,写的真溜。

底下还有一个小的存储过程,先拿来分享一下:

SET SESSION SQL_MODE = @OLD_SQL_MODE;;
# Dump of PROCEDURE BATCH_ADD_CHILD_BIRTH
# ------------------------------------------------------------

DROP PROCEDURE IF EXISTS `BATCH_ADD_CHILD_BIRTH`;;
SET SESSION SQL_MODE = "NO_ENGINE_SUBSTITUTION";;
CREATE DEFINER = `root`@`localhost` PROCEDURE `BATCH_ADD_CHILD_BIRTH`()
BEGIN
    # Routine body goes here...
    # 取出身份证中的生日
    UPDATE `scrm_contacts` 
    SET `birthday` = FROM_UNIXTIME(UNIX_TIMESTAMP(CAST(SUBSTRING(identity, 7, 8) AS DATETIME)), '%Y-%m-%d')
    WHERE birthday = '' 
    AND `identity` REGEXP '[0-9]{18}|[0-9]{17}X|[0-9]{15}';
END;;

短短存储过程,只有几行代码,用到了大量的 MySQL 函数,居然还有正则表达式

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部