zoukankan      html  css  js  c++  java
  • 随机姓名生成方法

     转自: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类型
    随机查询数据库表中的一条数据的方法分享

  • 相关阅读:
    CodeForces 710CMagic Odd Square(经典-奇数个奇数&偶数个偶数)
    CodeForces 710A King Moves(水题-越界问题)
    CodeForces 701C They Are Everywhere (滑动窗口)
    CodeForces 701B Cells Not Under Attack
    [补档]happiness
    [补档]王者之剑
    [补档]士兵占领
    [补档]搭配飞行员
    [补档]暑假集训D6总结
    [补档][Lydsy2017年4月月赛]抵制克苏恩
  • 原文地址:https://www.cnblogs.com/lairui1232000/p/11623254.html
Copyright © 2011-2022 走看看