mysql用函数实现组织机构代码校验,使用函数实现。

使用MySQL函数实现组织机构代码校验,可以编写一个自定义函数来实现。下面是一个示例函数,它可以检查组织机构代码的合法性:

 

```sql

DELIMITER //

 

CREATE FUNCTION isValidOrganizationCode (org_code VARCHAR(20))

RETURNS BOOLEAN

DETERMINISTIC

BEGIN

    DECLARE code_len INT;

    DECLARE total INT;

    DECLARE weight INT;

    DECLARE sum INT;

    DECLARE remainder INT;

    DECLARE check_code INT;

    

    SET code_len = LENGTH(org_code);

    

    -- 验证组织机构代码的长度

    IF code_len <> 9 THEN

        RETURN FALSE;

    END IF;

    

    -- 验证组织机构代码的格式

    IF NOT (org_code REGEXP '^[A-Z0-9]+$') THEN

        RETURN FALSE;

    END IF;

    

    -- 计算校验码

    SET total = 0;

    SET weight = 3;

    

    WHILE weight >= 1 DO

        SET sum = 0;

        

        -- 计算每一位上的乘积和

        FOR i IN 1..code_len-2 DO

            SET sum = sum + SUBSTRING(org_code, i, 1) * weight;

        END FOR;

        

        SET remainder = (11 - (sum % 11)) % 11;

        

        IF remainder >= 10 THEN

            SET check_code = 0;

        ELSE

            SET check_code = remainder;

        END IF;

        

        -- 验证校验码

        IF SUBSTRING(org_code, code_len, 1) <> check_code THEN

            RETURN FALSE;

        END IF;

        

        SET total = total + sum;

        SET weight = weight - 1;

    END WHILE;

    

    RETURN TRUE;

END //

 

DELIMITER ;

```

 

使用上述函数来校验组织机构代码时,你只需调用函数 `isValidOrganizationCode` 并传入要校验的组织机构代码作为参数,函数将返回一个布尔值,指示代码的合法性。

 

例如,你可以运行以下代码来调用函数并检查组织机构代码是否合法:

 

```sql

SELECT isValidOrganizationCode('ABCDEFGH1');

```

 

该查询将返回结果为0,指示该组织机构代码不合法。如果结果为1,则代表组织机构代码合法。

 

请注意,这只是一个简单的示例函数,仅适用于特定的组织机构代码校验规则。可以根据需要修改此函数来满足你特定的校验要求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值