经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » MS SQL Server » 查看文章
随机姓名生成方法
来源:cnblogs  作者:Adeal2008  时间:2019/10/14 9:54:44  对本文有异议

 转自:http://www.maomao365.com/?p=10025

摘要:
下文使用sql脚本生成中文名字的方法分享,如下所示:
实验环境:sql server 2008 R2
在工作中,我们有时需要批量生成随机姓名,下面将讲述使用sql脚本生成随机"名字"的方法分享,如下所示:
实现思路:
1.定义一个姓氏库
2.定义一个名字库
3.使用rand选择随机行,然后组合成一个新的名字

  1. DECLARE @maomao_Xing TABLE(keyId INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)) -- 姓氏
  2. DECLARE @maomao_Ming TABLE(keyId INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)) -- 名字
  3.  
  4. INSERT @maomao_Xing VALUES
  5. (''),(''),(''),(''),('西'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  6. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  7. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  8. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  9. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  10. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  11. (''),(''),(''),(''),('')
  12. INSERT @maomao_Ming VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  13. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  14. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  15. ('殿'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  16. (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
  17. (''),(''),(''),(''),(''),(''),(''),(''),('广'),(''),(''),(''),(''),(''),
  18. (''),(''),(''),(''),(''),(''),(''),('鸿'),(''),(''),(''),(''),(''),(''),
  19. (''),(''),(''),(''),(''),(''),(''),('')
  20. -- 随机生成1000个姓名
  21. declare @t table(name nvarchar(3))
  22. declare @i int
  23. set @i=0
  24.  
  25. while @i <1000
  26. begin
  27. insert into @t (name)
  28. SELECT RTRIM((SELECT NAME FROM @maomao_Xing WHERE keyId = Round(Rand()*(100-1)+1,0)))
  29. +RTRIM(LTRIM((SELECT NAME FROM @maomao_Ming WHERE keyId = Round(Rand()*(100-1)+1,0))))
  30. +RTRIM(LTRIM((SELECT NAME FROM @maomao_Ming WHERE keyId = Round(Rand()*(100-1)+1,0)))) AS [随机姓名]
  31. set @i =@i+1
  32. end
  33.  
  34. select * from @t as t

 

相关阅读:
RAND 数学函数将返回 0~1的一个float类型
随机查询数据库表中的一条数据的方法分享

原文链接:http://www.cnblogs.com/lairui1232000/p/11623254.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号