• 随机姓名生成方法


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

  • 相关阅读:
    poj 2955 区间dp
    LightOJ
    hdu 2089 数位dp
    LightOJ
    等比数列
    江西财经大学第一届程序设计竞赛 G题 小Q的口袋校园
    江西财经大学第一届程序设计竞赛 F题 解方程
    江西财经大学第一届程序设计竞赛 H题 求大数的阶乘
    Google 的Web开发相关工具
    Android Vitals各性能指标介绍
  • 原文地址:https://www.cnblogs.com/lairui1232000/p/11623254.html
Copyright © 2020-2023  润新知