宝宝快要出生了,是个BB女,想用组合的方式给宝宝取个好名字,算法低级简单,纯属乐趣,在园子里众多高手面前献丑了。这个也算是技术在生活中的一个应用吧,哈哈。
第一步:先建表
USE [NameTable]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Name](
[Name] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[ID] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_Name] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
第二步:翻翻字典或者其他书籍,找些喜欢的字
第三步:运行SQL脚本:(算法虽然简单,但对有起名需要的人或许有用,高手勿看)
DECLARE @Xing VARCHAR(300),@MN VARCHAR(200),@FN VARCHAR(200)
DECLARE @Xing_N INT,@MN_N INT,@FN_N INT
/*姓*/
SET @Xing='王'
/*
百家姓
SET @LN='王李张刘陈杨黄赵周吴徐孙朱马胡郭林何高梁郑罗宋谢唐韩曹许邓萧冯曾程蔡彭潘袁于董余苏叶吕魏蒋田杜丁沈姜范江傅钟卢汪戴崔任陆廖姚方金邱夏谭韦贾邹石熊孟秦阎薛侯雷白龙段郝孔邵史毛常万顾赖武康贺严尹钱施牛洪龚'
*/
/* 名字的中间一个字,从诗经里找了一些适合女孩子的名字,不容易啊*/
SET @MN='纯奕骏宇景仪若祥淑嘉令綝伊怡怿悦欣衎珍懿铄祺济汝波澜漪泌洋栩枫梓栀杨荣杼'
/* 名字的后一个字,此程序是起3个字的名字,如果起3个字以上的请自行修改程序 */
SET @FN='奕骏宇景仪若祥淑伊怡怿悦欣衎珍懿铄祺济汝波洋栩枫荣'
SET @Xing_N=LEN(@Xing)
SET @MN_N=LEN(@MN)
SET @FN_N=LEN(@FN)
DECLARE @TMP VARCHAR(6),@TwoWord VARCHAR(6),@I INT,@J INT
SET @I=1
WHILE @I<=@MN_N
BEGIN
SET @TMP=@Xing
SET @TwoWord=@TMP+ SUBSTRING(@MN,@I,1)
SET @J=1
WHILE @J<=@FN_N
BEGIN
SET @TMP=@TwoWord+ SUBSTRING(@FN,@J,1)
INSERT INTO [name]([name])VALUES(@TMP)
SET @J=@J+1
END
SET @I=@I+1
END
第四步:查看表,哗啦啦的生成了900 条记录, 够挑一会的了
王纯奕
王纯骏
王纯宇
王纯景
王纯仪
王纯若
王纯祥
王纯淑
王纯伊
王纯怡
王纯怿
王纯悦
王纯欣
王纯衎
王纯珍
王纯懿
王纯铄
王纯祺
王纯济
王纯汝
王纯波
王纯洋
王纯栩
王纯枫
王纯荣
王奕奕
王奕骏
王奕宇
王奕景
王奕仪
王奕若
王奕祥
王奕淑
王奕伊
王奕怡
王奕怿
王奕悦
王奕欣
王奕衎
王奕珍
王奕懿
王奕铄
王奕祺
王奕济
王奕汝
王奕波
王奕洋
王奕栩
王奕枫
王奕荣
王骏奕
王骏骏
王骏宇
王骏景
王骏仪
王骏若
王骏祥
王骏淑
王骏伊
王骏怡
王骏怿
王骏悦
王骏欣
王骏衎
王骏珍
王骏懿
王骏铄
王骏祺
王骏济
王骏汝
王骏波
王骏洋
王骏栩
王骏枫
王骏荣
王宇奕
王宇骏
王宇宇
王宇景
王宇仪
王宇若
王宇祥
王宇淑
王宇伊
王宇怡
王宇怿
王宇悦
王宇欣
王宇衎
王宇珍
王宇懿
王宇铄
王宇祺
王宇济
王宇汝
王宇波
王宇洋
王宇栩
王宇枫
王宇荣
王景奕
王景骏
王景宇
王景景
王景仪
王景若
王景祥
王景淑
王景伊
王景怡
王景怿
王景悦
王景欣
王景衎
王景珍
王景懿
王景铄
王景祺
王景济
王景汝
王景波
王景洋
王景栩
王景枫
王景荣
王仪奕
王仪骏
王仪宇
王仪景
王仪仪
王仪若
王仪祥
王仪淑
王仪伊
王仪怡
王仪怿
王仪悦
王仪欣
王仪衎
王仪珍
王仪懿
王仪铄
王仪祺
王仪济
王仪汝
王仪波
王仪洋
王仪栩
王仪枫
王仪荣
王若奕
王若骏
王若宇
王若景
王若仪
王若若
王若祥
王若淑
王若伊
王若怡
王若怿
王若悦
王若欣
王若衎
王若珍
王若懿
王若铄
王若祺
王若济
王若汝
王若波
王若洋
王若栩
王若枫
王若荣
。。。。。。
以下省略