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 随机生成中文姓名(转)的主要内容,如果未能解决你的问题,请参考以下文章