zoukankan      html  css  js  c++  java
  • SqlServer 随机生成中文姓名和随机时间(转)

    DECLARE @fName TABLE(Id INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20))    -- 姓氏
    DECLARE @lName TABLE(Id INT IDENTITY(1,1) PRIMARY KEY, NAME NVARCHAR(20))    -- 名字
    
    INSERT @fName VALUES
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),('')
    
    INSERT @lName VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    ('殿'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),('广'),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),('鸿'),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),('')
    
    -- 生成名字
    SELECT RTRIM((SELECT NAME FROM @fName WHERE Id = Round(Rand()*(100-1)+1,0)))
    +RTRIM(LTRIM((SELECT NAME FROM @lName WHERE Id = Round(Rand()*(100-1)+1,0))))
    +RTRIM(LTRIM((SELECT NAME FROM @lName WHERE Id = Round(Rand()*(100-1)+1,0)))) AS 名字

    或者先把姓氏和名字提前放到表里。

    --------------创建姓氏表和名字表
    create table XingShi(
       Id INT IDENTITY(1,1) PRIMARY KEY,
       NAME NVARCHAR(20)
    )
    create table MingZi(
       Id INT IDENTITY(1,1) PRIMARY KEY,
       NAME NVARCHAR(20)
    )
    INSERT XingShi VALUES
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),('')
    --select * from xingshi
    INSERT MingZi VALUES (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    ('殿'),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),(''),('广'),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),(''),(''),(''),('鸿'),(''),(''),(''),(''),(''),(''),
    (''),(''),(''),(''),('')
    --select * from MingZi
    
    SELECT RTRIM((SELECT NAME FROM XingShi WHERE Id = Round(Rand()*(100-1)+1,0)))
    +RTRIM(LTRIM((SELECT NAME FROM MingZi WHERE Id = Round(Rand()*(100-1)+1,0))))
    +RTRIM(LTRIM((SELECT NAME FROM MingZi WHERE Id = Round(Rand()*(100-1)+1,0)))) AS 名字



    随机时间:

    declare @Date_start datetime 
    declare @Date_end datetime 
    declare @OrderDate datetime
    
    set @Date_start= '2018-01-01' 
    set @Date_end=getdate() 
    select @OrderDate=dateadd(minute,abs(checksum(newid()))%(datediff(minute,@Date_start,@Date_end)+1),@Date_start)

    循环生成10个人名,随机年龄到数据库中:

    declare @i int
    declare @tempName varchar(10)
    set @i=1
    while(@i<=10)
    begin
    
    set @tempName=(SELECT RTRIM((SELECT NAME FROM XingShi WHERE Id = Round(Rand()*(100-1)+1,0)))
    +RTRIM(LTRIM((SELECT NAME FROM MingZi WHERE Id = Round(Rand()*(100-1)+1,0))))
    +RTRIM(LTRIM((SELECT NAME FROM MingZi WHERE Id = Round(Rand()*(100-1)+1,0)))) AS mname)
    INSERT INTO [dbo].[MyClass]
               ([Sname]
               ,[Sage]
               ,[Sdate])
         VALUES
               (@tempName
               ,cast(ceiling(rand() * 100) as int)
               ,getdate())
    set @i=@i+1
    end
  • 相关阅读:
    Luogu P1090 合并果子(优先队列 || priority_queue)
    Luogu P1012 拼数
    hibernate5.2的基本配置
    [bzoj1210][HNOI2004]邮递员【插头dp】
    [bzoj3470]Freda’s Walk【概率与期望dp】
    [bzoj4851][Jsoi2016]位运算【矩阵乘法】【状压dp】
    [bzoj4852][Jsoi2016]炸弹攻击【随机化】
    [bzoj4853][Jsoi2016]飞机调度【最短路】【网络流】
    [bzoj4850][Jsoi2016]灯塔【暴力】
    [bzoj4919][Lydsy1706月赛]大根堆【dp】【启发式合并】【stl】
  • 原文地址:https://www.cnblogs.com/25miao/p/11942871.html
Copyright © 2011-2022 走看看