SqlServer 随机生成中文姓名(转)

Posted 幸福安康

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 名字

 

以上是关于SqlServer 随机生成中文姓名(转)的主要内容,如果未能解决你的问题,请参考以下文章

用sql 产生随机数字

怎样做EXCEL随机姓名生成器...生成3个字的姓名

Java随机生成中文姓名工具

从数组 Javascript 生成随机元素组

日常摘要- 生成随机的姓名或手机号篇

Sql Server数据库的表变量和临时表的区别,并通过变量表随机生成姓名