博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
七.生成n位随机字符串
阅读量:6709 次
发布时间:2019-06-25

本文共 1716 字,大约阅读时间需要 5 分钟。

--1、借助newid()go--创建视图(因为在函数中无法直接使用newid())create view vnewidasselect newid() N'MacoId';go--创建函数create function getrandstr(@n int)returns varchar(max)asbegin    declare @i int    set @i=ceiling(@n/32.00)    declare @j int    set @j=0    declare @k varchar(max)    set @k=''    while @j<@i    begin    select @k=@k+replace(cast(MacoId as varchar(36)),'-','') from vnewid    set @j=@j+1    end    set @k=substring(@k,1,@n)return @kend --测试示例select dbo.getrandstr(75)--运行结果/*D185504AD09C4D5796F7016983E67414CEE25162EA9F43D195D43328A4CF01AC7C586521D8E*/ --我们可以发现结果中的字母都是大写的,或是都是小写的。--换种方法来写下:go--创建函数create function [dbo].[m_rand](@mycount int)returns nvarchar(2000)asbegin       declare @maco_wang table (id varchar(1))       declare @maco_number int,@number int;       declare @my_one nvarchar(max),@my_two nvarchar(max)       set @my_one='';set @maco_number=0; set @number =48;       while (@number>=48 and @number<=57) or (@number>=65 and @number<=90) or (@number>=97 and @number<=122)        begin           insert into @maco_wang select char(@number)           set @number=@number+1;           if(@number=58)           begin              set @number=65                     end           if(@number=91)           begin                   set @number=97              end       end       while @maco_number<@mycount       begin              select @my_two=id from @maco_wang              order by (select MacoId from dbo.m_macoview);              set @my_one=@my_two+@my_one;              set @maco_number=@maco_number+1;       end    return @my_oneend--测试用例select [dbo].[m_rand](75)--运行结果/*5nN0w4o4VOkjacB5so2uvCuw2ZRrnBhxEi4IcsEOHzBbStKmR1p8ASH4N4XaxhDoDEtkX8bZ0CR*/

 

转载于:https://www.cnblogs.com/Dralion/p/3481609.html

你可能感兴趣的文章
微软宣布支持基于虚拟机的Azure IOT Edge服务
查看>>
来自社区的Visual Studio Code使用体验和教程
查看>>
[deviceone开发]-cnodejs论坛移动端App
查看>>
智能指针shared_ptr(effective modern c++笔记)
查看>>
NSDate格式化小例
查看>>
spring 基础
查看>>
java中finally和return的执行顺序
查看>>
MySQL分区表(优化)
查看>>
XP与XP互连
查看>>
linux驱动杂谈2
查看>>
使用linux内核,打造自己的linux
查看>>
Nginx--安装和配置
查看>>
Spark 的 Shell操作,核心概念,构建独立应用
查看>>
安全圈老司机为什么会在这个游戏里翻车?(内附详细解谜攻略)
查看>>
边缘计算将蚕食云计算,可能吗?
查看>>
阿里云前端周刊 - 第 12 期
查看>>
《CCNP ROUTE (642-902 )认证考试指南》一第1章 CCNP考试中的规划任务
查看>>
《高可用架构·中国初创故事(第3期)》一1.6 了解客户
查看>>
CentOS 7 本地yum源配置
查看>>
设计模式系列-享元模式
查看>>