yjywudi 2023-03-15 17:36 采纳率: 66.7%
浏览 53
已结题

在mysql中判断身份证号是否符合规范

请教下在mysql中判断身份证号是否符合规范,并输出不符合规范的行,应该怎么写?如同在EXCEL中的判断公式:

img

类似这个效果,请指导

  • 写回答

4条回答 默认 最新

  • CL有毒 2023-03-15 18:53
    关注
    -- 建表
    CREATE TABLE `test_id` ( `id` VARCHAR ( 18 ) NOT NULL, PRIMARY KEY ( `id` ) ); 
    -- 初始化数据
    INSERT INTO `test_id` VALUES ( '123456789123456789' ),( '432831196411150810' );
    -- 检查是否通过
    SELECT
        id,
        check_sum,
    IF
        ( MID( id, 18, 1 )= check_sum, '通过', '不通过' ) result 
    FROM
        (
        SELECT
            id,
        CASE
                mod_sum 
                WHEN 0 THEN
                '1' 
                WHEN 1 THEN
                '0' 
                WHEN 2 THEN
                'X' ELSE 12-mod_sum 
            END check_sum 
    FROM
        (
        SELECT
            id,
            MOD (
                MID( id, 1, 1 )* 7 + MID( id, 2, 1 )* 9 + MID( id, 3, 1 )* 10 + MID( id, 4, 1 )* 5 + MID( id, 5, 1 )* 8 + MID( id, 6, 1 )* 4 + MID( id, 7, 1 )* 2 + MID( id, 8, 1 )* 1 + MID( id, 9, 1 )* 6 + MID( id, 10, 1 )* 3 + MID( id, 11, 1 )* 7 + MID( id, 12, 1 )* 9 + MID( id, 13, 1 )* 10 + MID( id, 14, 1 )* 5 + MID( id, 15, 1 )* 8 + MID( id, 16, 1 )* 4 + MID( id, 17, 1 )* 2,
                11 
            ) AS mod_sum 
        FROM
            test_id 
        ) temp 
        ) t;
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月15日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系