随机姓名生成方法


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

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

DECLARE @maomao_Xing TABLE(keyId INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)) -- 姓氏
DECLARE @maomao_Ming TABLE(keyId INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20)) -- 名字

INSERT @maomao_Xing VALUES
(''),(''),(''),(''),('西'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),('')

INSERT @maomao_Ming VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
('殿'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),(''),('广'),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),('鸿'),(''),(''),(''),(''),(''),(''),
(''),(''),(''),(''),(''),(''),(''),('')

-- 随机生成1000个姓名
declare @t table(name nvarchar(3))
declare @i int 
set @i=0

while @i <1000
begin
insert into @t (name) 
SELECT RTRIM((SELECT NAME FROM @maomao_Xing WHERE keyId = Round(Rand()*(100-1)+1,0)))
+RTRIM(LTRIM((SELECT NAME FROM @maomao_Ming WHERE keyId = Round(Rand()*(100-1)+1,0))))
+RTRIM(LTRIM((SELECT NAME FROM @maomao_Ming WHERE keyId = Round(Rand()*(100-1)+1,0)))) AS [随机姓名]
set @i =@i+1 
end

select * from @t as t 

 

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM