SQL 随机产生姓名
2010-08-02 21:27 音乐让我说 阅读(650) 评论(0) 编辑 收藏 举报下面是我自己写的SQL随机产生一个或多个姓名,代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | declare @firstNames varchar ( max ) /* 保存名的集合 */ declare @lastNames varchar ( max ) /* 保存姓的集合 */ set @firstNames = '芳,海,亮,红,君,军,俊,江,河,湖,波,杰,山,燕,阳,洋,涛,斌,彬,宾,微,伟,威,薇,刚,倩' /* 必须只有一个字 */ set @lastNames = '刘,方,王,李,赵,孙,钱,胡,易,黄,温,丁,周,魏,陈,曾,涂' /* 必须只有一个字 */ declare @lastNamesLength int declare @firstNamesLength int set @lastNamesLength = (LEN(@lastNames) - 1) / 2 + 1 set @firstNamesLength = (LEN(@firstNames) - 1) / 2 + 1 declare @firstNameRandom int declare @lastNameRandom int declare @resultFullNames varchar ( max ) set @resultFullNames = '' declare @i int set @i = 1 while(@i <= 1000) begin set @firstNameRandom = CEILING(rand()*@firstNamesLength) set @lastNameRandom = CEILING(rand()*@lastNamesLength) /* 产生第 1 个字,对于的 Index 为 1,注意:这里的 Index 最小值为 1。 产生第 2 个字,对于的 Index 为 3, 产生第 3 个字,对于的 Index 为 5, ... */ set @resultFullNames = @resultFullNames + ( SUBSTRING (@lastNames, @lastNameRandom * 2 - 1, 1) + SUBSTRING (@firstNames, @firstNameRandom * 2 - 1, 1) + ',' ) set @i = @i + 1 end print @resultFullNames |
代码完毕,不过有一个缺点,目前不支持2个以上的姓氏和3个以上的名,随后我会继续更新,请期待...
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步