zoukankan      html  css  js  c++  java
  • 生成纯字母随机编号的示例(大小写混合).sql

    --取得随机数的视图
    CREATE VIEW v_RAND
    AS
    SELECT re=STUFF(RAND(),1,2,'')
    GO

    --生成随机编号的函数
    CREATE FUNCTION f_RANDBH(@BHLen int)
    RETURNS varchar(50)
    AS
    BEGIN
        DECLARE @r varchar(50)
        IF NOT(ISNULL(@BHLen,0) BETWEEN 1 AND 50)
            SET @BHLen=10

        SELECT @r=CHAR(
                CASE WHEN SUBSTRING(re,1,1)>5 THEN 97 ELSE 65 end
                +(SUBSTRING(re,1,1)
                +SUBSTRING(re,2,1)
                +SUBSTRING(re,3,1))%26)
            +CHAR(
                CASE WHEN SUBSTRING(re,4,1)>5 THEN 97 ELSE 65 end
                +(SUBSTRING(re,4,1)
                +SUBSTRING(re,5,1)
                +SUBSTRING(re,6,1))%26)
        FROM v_RAND
        WHILE LEN(@r)<@BHLen
            SELECT @r=@r+CHAR(
                    CASE WHEN SUBSTRING(re,1,1)>5 THEN 97 ELSE 65 end
                    +(SUBSTRING(re,1,1)
                    +SUBSTRING(re,2,1)
                    +SUBSTRING(re,3,1))%26)
                +CHAR(
                    CASE WHEN SUBSTRING(re,4,1)>5 THEN 97 ELSE 65 end
                    +(SUBSTRING(re,4,1)
                    +SUBSTRING(re,5,1)
                    +SUBSTRING(re,6,1))%26)
            FROM v_RAND
        RETURN(LEFT(@r,@BHLen))
    END
    GO

    --调用
    SELECT dbo.f_RANDBH(6),dbo.f_RANDBH(8)
    --结果: YZVBOj   LASCrhSO
  • 相关阅读:
    Django重要组件(Auth模块)
    Django框架深入了解(总结整理)
    ORM(数据库对象关系映射)代码重写
    Django框架深入了解——DRF之序列化、反序列化
    让无线更自由 TOTOLINK EX750无线中继评测
    matlab常用知识
    点云数据
    运动恢复结构
    Ubuntu下简单的QT绘图程序
    英语词语解释
  • 原文地址:https://www.cnblogs.com/shihao/p/2526889.html
Copyright © 2011-2022 走看看