有这样的一个需求: 需要把用户表里面Users根据名称 设置对应的拼音账号然后替换掉原来的。

步骤1:进入数据库中建立中转的表

create table User1(Id uniqueidentifier ,Name nvarchar(200), Account nvarchar(200)
)

步骤2.:建立所需要的转换的函数,在对应的数据库中进行建立才能生效

    --调用方法 select dbo. procGetPinYin ('中國')create function [dbo].procGetPinYin(@str varchar(100))returns varchar(8000)asbegindeclare @re varchar(8000),@crs varchar(10)declare @strlen int select @strlen=len(@str),@re=''while @strlen>0begin  set @crs= substring(@str,@strlen,1)select @re=casewhen @crs<'吖' then @crswhen @crs<='厑' then 'a'when @crs<='靉' then 'ai'when @crs<='黯' then 'an'when @crs<='醠' then 'ang'when @crs<='驁' then 'ao'when @crs<='欛' then 'ba'when @crs<='瓸' then 'bai'when @crs<='瓣' then 'ban'when @crs<='鎊' then 'bang'when @crs<='鑤' then 'bao'when @crs<='鐾' then 'bei'when @crs<='輽' then 'ben'when @crs<='鏰' then 'beng'when @crs<='鼊' then 'bi'when @crs<='變' then 'bian'when @crs<='鰾' then 'biao'when @crs<='彆' then 'bie'when @crs<='鬢' then 'bin'when @crs<='靐' then 'bing'when @crs<='蔔' then 'bo'when @crs<='簿' then 'bu'when @crs<='囃' then 'ca'when @crs<='乲' then 'cai'when @crs<='爘' then 'can'when @crs<='賶' then 'cang'when @crs<='鼜' then 'cao'when @crs<='簎' then 'ce'when @crs<='笒' then 'cen'when @crs<='乽' then 'ceng'when @crs<='詫' then 'cha'when @crs<='囆' then 'chai'when @crs<='顫' then 'chan'when @crs<='韔' then 'chang'when @crs<='觘' then 'chao'when @crs<='爡' then 'che'when @crs<='讖' then 'chen'when @crs<='秤' then 'cheng'when @crs<='鷘' then 'chi'when @crs<='銃' then 'chong'when @crs<='殠' then 'chou'when @crs<='矗' then 'chu'when @crs<='踹' then 'chuai'when @crs<='鶨' then 'chuan'when @crs<='愴' then 'chuang'when @crs<='顀' then 'chui'when @crs<='蠢' then 'chun'when @crs<='縒' then 'chuo'when @crs<='嗭' then 'ci'when @crs<='謥' then 'cong'when @crs<='輳' then 'cou'when @crs<='顣' then 'cu'when @crs<='爨' then 'cuan'when @crs<='臎' then 'cui'when @crs<='籿' then 'cun'when @crs<='錯' then 'cuo'when @crs<='橽' then 'da'when @crs<='靆' then 'dai'when @crs<='饏' then 'dan'when @crs<='闣' then 'dang'when @crs<='纛' then 'dao'when @crs<='的' then 'de'when @crs<='扽' then 'den'when @crs<='鐙' then 'deng'when @crs<='螮' then 'di'when @crs<='嗲' then 'dia'when @crs<='驔' then 'dian'when @crs<='鑃' then 'diao'when @crs<='嚸' then 'die'when @crs<='顁' then 'ding'when @crs<='銩' then 'diu'when @crs<='霘' then 'dong'when @crs<='鬭' then 'dou'when @crs<='蠹' then 'du'when @crs<='叾' then 'duan'when @crs<='譵' then 'dui'when @crs<='踲' then 'dun'when @crs<='鵽' then 'duo'when @crs<='鱷' then 'e'when @crs<='摁' then 'en'when @crs<='鞥' then 'eng'when @crs<='樲' then 'er'when @crs<='髮' then 'fa'when @crs<='瀪' then 'fan'when @crs<='放' then 'fang'when @crs<='靅' then 'fei'when @crs<='鱝' then 'fen'when @crs<='覅' then 'feng'when @crs<='梻' then 'fo'when @crs<='鴀' then 'fou'when @crs<='猤' then 'fu'when @crs<='魀' then 'ga'when @crs<='瓂' then 'gai'when @crs<='灨' then 'gan'when @crs<='戇' then 'gang'when @crs<='鋯' then 'gao'when @crs<='獦' then 'ge'when @crs<='給' then 'gei'when @crs<='搄' then 'gen'when @crs<='堩' then 'geng'when @crs<='兣' then 'gong'when @crs<='購' then 'gou'when @crs<='顧' then 'gu'when @crs<='詿' then 'gua'when @crs<='恠' then 'guai'when @crs<='鱹' then 'guan'when @crs<='撗' then 'guang'when @crs<='鱥' then 'gui'when @crs<='謴' then 'gun'when @crs<='腂' then 'guo'when @crs<='哈' then 'ha'when @crs<='饚' then 'hai'when @crs<='鶾' then 'han'when @crs<='沆' then 'hang'when @crs<='兞' then 'hao'when @crs<='靏' then 'he'when @crs<='嬒' then 'hei'when @crs<='恨' then 'hen'when @crs<='堼' then 'heng'when @crs<='鬨' then 'hong'when @crs<='鱟' then 'hou'when @crs<='鸌' then 'hu'when @crs<='蘳' then 'hua'when @crs<='蘾' then 'huai'when @crs<='鰀' then 'huan'when @crs<='鎤' then 'huang'when @crs<='顪' then 'hui'when @crs<='諢' then 'hun'when @crs<='夻' then 'huo'when @crs<='驥' then 'ji'when @crs<='嗧' then 'jia'when @crs<='鑳' then 'jian'when @crs<='謽' then 'jiang'when @crs<='釂' then 'jiao'when @crs<='繲' then 'jie'when @crs<='齽' then 'jin'when @crs<='竸' then 'jing'when @crs<='蘔' then 'jiong'when @crs<='欍' then 'jiu'when @crs<='爠' then 'ju'when @crs<='羂' then 'juan'when @crs<='钁' then 'jue'when @crs<='攈' then 'jun'when @crs<='鉲' then 'ka'when @crs<='乫' then 'kai'when @crs<='矙' then 'kan'when @crs<='閌' then 'kang'when @crs<='鯌' then 'kao'when @crs<='騍' then 'ke'when @crs<='褃' then 'ken'when @crs<='鏗' then 'keng'when @crs<='廤' then 'kong'when @crs<='鷇' then 'kou'when @crs<='嚳' then 'ku'when @crs<='骻' then 'kua'when @crs<='鱠' then 'kuai'when @crs<='窾' then 'kuan'when @crs<='鑛' then 'kuang'when @crs<='鑎' then 'kui'when @crs<='睏' then 'kun'when @crs<='穒' then 'kuo'when @crs<='鞡' then 'la'when @crs<='籟' then 'lai'when @crs<='糷' then 'lan'when @crs<='唥' then 'lang'when @crs<='軂' then 'lao'when @crs<='餎' then 'le'when @crs<='脷' then 'lei'when @crs<='睖' then 'leng'when @crs<='瓈' then 'li'when @crs<='倆' then 'lia'when @crs<='纞' then 'lian'when @crs<='鍄' then 'liang'when @crs<='瞭' then 'liao'when @crs<='鱲' then 'lie'when @crs<='轥' then 'lin'when @crs<='炩' then 'ling'when @crs<='咯' then 'liu'when @crs<='贚' then 'long'when @crs<='鏤' then 'lou'when @crs<='氇' then 'lu'when @crs<='鑢' then 'lv'when @crs<='亂' then 'luan'when @crs<='擽' then 'lue'when @crs<='論' then 'lun'when @crs<='鱳' then 'luo'when @crs<='嘛' then 'ma'when @crs<='霢' then 'mai'when @crs<='蘰' then 'man'when @crs<='蠎' then 'mang'when @crs<='唜' then 'mao'when @crs<='癦' then 'me'when @crs<='嚜' then 'mei'when @crs<='們' then 'men'when @crs<='霥' then 'meng'when @crs<='羃' then 'mi'when @crs<='麵' then 'mian'when @crs<='廟' then 'miao'when @crs<='鱴' then 'mie'when @crs<='鰵' then 'min'when @crs<='詺' then 'ming'when @crs<='謬' then 'miu'when @crs<='耱' then 'mo'when @crs<='麰' then 'mou'when @crs<='旀' then 'mu'when @crs<='魶' then 'na'when @crs<='錼' then 'nai'when @crs<='婻' then 'nan'when @crs<='齉' then 'nang'when @crs<='臑' then 'nao'when @crs<='呢' then 'ne'when @crs<='焾' then 'nei'when @crs<='嫩' then 'nen'when @crs<='能' then 'neng'when @crs<='嬺' then 'ni'when @crs<='艌' then 'nian'when @crs<='釀' then 'niang'when @crs<='脲' then 'niao'when @crs<='钀' then 'nie'when @crs<='拰' then 'nin'when @crs<='濘' then 'ning'when @crs<='靵' then 'niu'when @crs<='齈' then 'nong'when @crs<='譳' then 'nou'when @crs<='搙' then 'nu'when @crs<='衄' then 'nv'when @crs<='瘧' then 'nue'when @crs<='燶' then 'nuan'when @crs<='桛' then 'nuo'when @crs<='鞰' then 'o'when @crs<='漚' then 'ou'when @crs<='袙' then 'pa'when @crs<='磗' then 'pai'when @crs<='鑻' then 'pan'when @crs<='胖' then 'pang'when @crs<='礮' then 'pao'when @crs<='轡' then 'pei'when @crs<='喯' then 'pen'when @crs<='喸' then 'peng'when @crs<='鸊' then 'pi'when @crs<='騙' then 'pian'when @crs<='慓' then 'piao'when @crs<='嫳' then 'pie'when @crs<='聘' then 'pin'when @crs<='蘋' then 'ping'when @crs<='魄' then 'po'when @crs<='哛' then 'pou'when @crs<='曝' then 'pu'when @crs<='蟿' then 'qi'when @crs<='髂' then 'qia'when @crs<='縴' then 'qian'when @crs<='瓩' then 'qiang'when @crs<='躈' then 'qiao'when @crs<='籡' then 'qie'when @crs<='藽' then 'qin'when @crs<='櫦' then 'qing'when @crs<='瓗' then 'qiong'when @crs<='糗' then 'qiu'when @crs<='覻' then 'qu'when @crs<='勸' then 'quan'when @crs<='礭' then 'que'when @crs<='囕' then 'qun'when @crs<='橪' then 'ran'when @crs<='讓' then 'rang'when @crs<='繞' then 'rao'when @crs<='熱' then 're'when @crs<='餁' then 'ren'when @crs<='陾' then 'reng'when @crs<='馹' then 'ri'when @crs<='穃' then 'rong'when @crs<='嶿' then 'rou'when @crs<='擩' then 'ru'when @crs<='礝' then 'ruan'when @crs<='壡' then 'rui'when @crs<='橍' then 'run'when @crs<='鶸' then 'ruo'when @crs<='栍' then 'sa'when @crs<='虄' then 'sai'when @crs<='閐' then 'san'when @crs<='喪' then 'sang'when @crs<='髞' then 'sao'when @crs<='飋' then 'se'when @crs<='篸' then 'sen'when @crs<='縇' then 'seng'when @crs<='霎' then 'sha'when @crs<='曬' then 'shai'when @crs<='鱔' then 'shan'when @crs<='緔' then 'shang'when @crs<='潲' then 'shao'when @crs<='欇' then 'she'when @crs<='瘮' then 'shen'when @crs<='賸' then 'sheng'when @crs<='瓧' then 'shi'when @crs<='鏉' then 'shou'when @crs<='虪' then 'shu'when @crs<='誜' then 'shua'when @crs<='卛' then 'shuai'when @crs<='腨' then 'shuan'when @crs<='灀' then 'shuang'when @crs<='睡' then 'shui'when @crs<='鬊' then 'shun'when @crs<='鑠' then 'shuo'when @crs<='乺' then 'si'when @crs<='鎹' then 'song'when @crs<='瘶' then 'sou'when @crs<='鷫' then 'su'when @crs<='算' then 'suan'when @crs<='鐩' then 'sui'when @crs<='潠' then 'sun'when @crs<='蜶' then 'suo'when @crs<='襨' then 'ta'when @crs<='燤' then 'tai'when @crs<='賧' then 'tan'when @crs<='燙' then 'tang'when @crs<='畓' then 'tao'when @crs<='蟘' then 'te'when @crs<='朰' then 'teng'when @crs<='趯' then 'ti'when @crs<='舚' then 'tian'when @crs<='糶' then 'tiao'when @crs<='餮' then 'tie'when @crs<='乭' then 'ting'when @crs<='憅' then 'tong'when @crs<='透' then 'tou'when @crs<='鵵' then 'tu'when @crs<='褖' then 'tuan'when @crs<='駾' then 'tui'when @crs<='坉' then 'tun'when @crs<='籜' then 'tuo'when @crs<='韤' then 'wa'when @crs<='顡' then 'wai'when @crs<='贎' then 'wan'when @crs<='朢' then 'wang'when @crs<='躛' then 'wei'when @crs<='璺' then 'wen'when @crs<='齆' then 'weng'when @crs<='齷' then 'wo'when @crs<='鶩' then 'wu'when @crs<='衋' then 'xi'when @crs<='鏬' then 'xia'when @crs<='鼸' then 'xian'when @crs<='鱌' then 'xiang'when @crs<='斆' then 'xiao'when @crs<='躞' then 'xie'when @crs<='釁' then 'xin'when @crs<='臖' then 'xing'when @crs<='敻' then 'xiong'when @crs<='齅' then 'xiu'when @crs<='蓿' then 'xu'when @crs<='贙' then 'xuan'when @crs<='瀥' then 'xue'when @crs<='鑂' then 'xun'when @crs<='齾' then 'ya'when @crs<='灩' then 'yan'when @crs<='樣' then 'yang'when @crs<='鑰' then 'yao'when @crs<='岃' then 'ye'when @crs<='齸' then 'yi'when @crs<='檼' then 'yin'when @crs<='譍' then 'ying'when @crs<='喲' then 'yo'when @crs<='醟' then 'yong'when @crs<='鼬' then 'you'when @crs<='爩' then 'yu'when @crs<='願' then 'yuan'when @crs<='鸙' then 'yue'when @crs<='韻' then 'yun'when @crs<='雥' then 'za'when @crs<='縡' then 'zai'when @crs<='饡' then 'zan'when @crs<='臟' then 'zang'when @crs<='竈' then 'zao'when @crs<='稄' then 'ze'when @crs<='鱡' then 'zei'when @crs<='囎' then 'zen'when @crs<='贈' then 'zeng'when @crs<='醡' then 'zha'when @crs<='瘵' then 'zhai'when @crs<='驏' then 'zhan'when @crs<='瞕' then 'zhang'when @crs<='羄' then 'zhao'when @crs<='鷓' then 'zhe'when @crs<='黮' then 'zhen'when @crs<='證' then 'zheng'when @crs<='豒' then 'zhi'when @crs<='諥' then 'zhong'when @crs<='驟' then 'zhou'when @crs<='鑄' then 'zhu'when @crs<='爪' then 'zhua'when @crs<='跩' then 'zhuai'when @crs<='籑' then 'zhuan'when @crs<='戅' then 'zhuang'when @crs<='鑆' then 'zhui'when @crs<='稕' then 'zhun'when @crs<='籱' then 'zhuo'when @crs<='漬' then 'zi'when @crs<='縱' then 'zong'when @crs<='媰' then 'zou'when @crs<='謯' then 'zu'when @crs<='攥' then 'zuan'when @crs<='欈' then 'zui'when @crs<='銌' then 'zun'when @crs<='咗' then 'zuo'--else  @crs end+' '+@re,@strlen=@strlen-1 --去掉拼音之间的间隔else  @crs end+''+@re,@strlen=@strlen-1 endreturn(@re)endgo

步骤3:把Users 表中的相关的用户的信息更新插入到user1 中

--进行准备将users 中的数据查询插入user1 这里将保存正确的名称对应信息
insert into User1(Id,Name,Account)  select ID,Name,(SELECT lower(dbo.procGetPinYin(Name)))  from  Users
select * from User1

步骤4:进行查重 查看表中是否有重复的数据

将进行查重
select * from User1 where Account in (select  Account from  User1 group  by  Account   having  count(Account ) > 1)

步骤5:进行更换重复的账号

go
with m as (
select *  , row_number() over(partition by Account order by Id) rn
from User1
)
update m set Account = Account + cast(rn - 1 as varchar(2))
where rn > 1
go

步骤6:将user1 中的数据重新更新到users 中

update   b  set b.Account   =   a.Account
from User1  a,Users b
where   a.Id   =   b.ID and a.Name = b.Name   

步骤7:查询结果

select * from Users

结果如图:

将数据库中用户表 名称设置对应的拼音账号sql相关推荐

  1. mysql localhost值_mysql数据库中用户表host字段localhost、127.0.0.1、%区别

    忘记mysql密码后,通过添加my.cnf中[mysqld]段skip_grant_tables参数跳过认证后修改密码. 改完后重启发现还是无法登陆,排查后发现是mysql.user表中host字段值 ...

  2. 查询数据库中所有表名称

    SELECT Name FROM SysObjects Where XType='U' ORDER BY Name 转载于:https://www.cnblogs.com/niuniu0108/p/9 ...

  3. vb读取mysql多表,vb获取数据库中所有表的名称

    以下是 OpenSchema 方法的三个参数: 一个枚举的值,指定所需的架构类型.示例包括 adSchemaTables. adSchemaPrimaryKeys. adSchemaColumns. ...

  4. 数据库中各表关联图及其说明_如何在图中思考:图论及其应用的说明性介绍

    数据库中各表关联图及其说明 by Vardan Grigoryan (vardanator) 由Vardan Grigoryan(vardanator) 如何在图中思考:图论及其应用的说明性介绍 (H ...

  5. wordPress数据结构 数据库中的表、字段、类型及说明

    wordPress数据结构 数据库中的表.字段.类型及说明 WordPress数据库中的表.字段.类型及说明 wp_categories: 用于保存分类相关信息的表.包括了5个字段,分别是: wp_c ...

  6. MySQL数据库中数据表的约束条件

    目录 1.primary key :主键约束,用于唯一标识对应的记录 1.单字段主键 2. 复合主键 2.foreign key:外键约束 1.创建表时添加外键约束 2.为已存在的表添加外键约束 3. ...

  7. 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小

    2019独角兽企业重金招聘Python工程师标准>>> 在 sql server 中,查询 数据库的大小 和 数据库中各表的大小 其实本来只想找一个方法能查询一下 数据库 的大小,没 ...

  8. SQL Server将数据库中的表复制到另一个数据库

    在使用SqlServer的过程中,我们可能需要将表从一个数据库复制到另一个数据库中,今天,小编为大家介绍这种操作的具体方法及步骤. 一:复制表结构: 1.首先,打开并连接Sql Server,在源数据 ...

  9. 为informix数据库中的表创建同义词

    事件描述: Informix数据库服务器dbserver有数据库db_a和数据库db_b,db_a是用户a创建的,db_b是用户b创建的, 由于使用db_a数据库的程序需要读取db_b数据库中的表,在 ...

最新文章

  1. T-SQL查询——详解公用表达式(CTE)
  2. c++ char4个字节_西门子PLC的TCP通讯(不同项目下)①--TSEND_C指令
  3. clouderamanager-server启动,log日志中说需要mysql驱动的解决办法
  4. cannot import name ‘izip‘ from ‘itertools‘
  5. Windows中SQLite的编译及编程
  6. Drupal6中的表单如果不让修改
  7. C51 汇编指令英文全称
  8. 全国计算机等级考试题库二级C操作题100套(第94套)
  9. GetWeApp聊天室 代码(微信小程序)
  10. 2012微软校园招聘笔试题
  11. [导入]最近一直在想这个问题
  12. php验证码完整功能,用PHP实现验证码功能
  13. wxPython控件学习之TextCtrl(二)多行及样式文本框
  14. VFP9 连接mysql代码示例
  15. 宠物医院app开发的功能有哪些?
  16. 豆瓣TOP250爬虫,数据分析项目实战——pyecharts
  17. 机房运维——技术文档
  18. 康奈尔笔记系统介绍和购买
  19. 软件版本的GA 代表什么意思?
  20. WORD中表格的跨页显示

热门文章

  1. OpenCV_Viz——OpenCV中Viz的模块编译的无法解析的外部符号BUG
  2. JS 轮播图 图片切换(定时器)
  3. c++/c/java数据结构--队列
  4. Python3处理HTTP请求
  5. 软件设计原则之里氏替换原则、依赖倒置原则
  6. Groovy脚本极限优化
  7. Jetpack 系列之AppSearch
  8. 转一篇有关竞争对手LANDESK CEO的故事
  9. LANDESK8.8版本操作说明书
  10. DB2 SQL 消息