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

在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日

悬赏问题

  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!
  • ¥60 pb数据库修改与连接
  • ¥15 spss统计中二分类变量和有序变量的相关性分析可以用kendall相关分析吗?
  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)