操作步骤1:生成获取中文字符串对应的拼音首字母字符串函数
操作步骤2:执行重命名中文字段名为拼音字首母字段名脚本
--1、SQL获取中文字符串对应的拼音首字母字符串函数
Create function fun_getPY
(
@str nvarchar(4000)
)
returns nvarchar(4000)
as
begin
declare @word nchar(1),@PY nvarchar(4000)
set @PY=''
while len(@str)>0
begin
set @word=left(@str,1)
--如果非汉字字符,返回原字符
set @PY=@PY+(case when unicode(@word) between 19968 and 19968+20901
then (
select top 1 PY
from
(
select 'A' as PY,N'驁' as word
union all select 'B',N'簿'
union all select 'C',N'錯'
union all select 'D',N'鵽'
union all select 'E',N'樲'
union all select 'F',N'鰒'
union all select 'G',N'腂'
union all select 'H',N'夻'
union all select 'J',N'攈'
union all select 'K',N'穒'
union all select 'L',N'鱳'
union all select 'M',N'旀'
union all select 'N',N'桛'
union all select 'O',N'漚'
union all select 'P',N'曝'
union all select 'Q',N'囕'
union all select 'R',N'鶸'
union all select 'S',N'蜶'
union all select 'T',N'籜'
union all select 'W',N'鶩'
union all select 'X',N'鑂'
union all select 'Y',N'韻'
union all select 'Z',N'咗'
) T
where word>=@word collate Chinese_PRC_CS_AS_KS_WS
order by PY ASC
)
else @word
end)
set @str=right(@str,len(@str)-1)
end
return @PY
end
--2、SQL批量重命名中文字段名为对应拼音首字母字段名脚本
--查询当前数据库中的所有中文字段名列表
select b.name as tablename,a.name as columnname from sys.columns a left join sys.objects b on a.object_id=b.object_id where UNICODE(a.name) BETWEEN 19968 AND 19968+20901 order by b.name
--定义游标查询变量
declare @TableName nvarchar(250)
declare @ColumnName nvarchar(250)
--声明读取数据库所有数据表名称游标mycursor1
declare mycursor1 cursor for select b.name as tablename,a.name as columnname from sys.columns a left join sys.objects b on a.object_id=b.object_id where UNICODE(a.name) BETWEEN 19968 AND 19968+20901 order by b.name
--打开游标
open mycursor1
--从游标里取出数据赋值到我们刚才声明的数据表名变量中
fetch next from mycursor1 into @TableName,@ColumnName
--如果游标执行成功
while (@@fetch_status=0)
begin
--定义重命名字段变量
declare @NewColumnName varchar (250)
select @NewColumnName=dbo.fun_getPY(@ColumnName)
declare @renameCommand nvarchar(2000)
set @renameCommand=@TableName+'.'+@ColumnName
--指定重命名字段指令
exec sp_rename @renameCommand,@NewColumnName,'column'
--用游标去取下一条记录
fetch next from mycursor1 into @TableName,@ColumnName
end
--关闭游标
close mycursor1
--撤销游标
deallocate mycursor1
--查询重命名后的当前数据库中的所有中文字段名列表
select b.name as tablename,a.name as columnname from sys.columns a left join sys.objects b on a.object_id=b.object_id where UNICODE(a.name) BETWEEN 19968 AND 19968+20901 order by b.name
分享到:
相关推荐
SQL Server 登录名 117 6.1.2 创建使用SQL Server身份验证的 SQL Server登录名 120 6.1.3 利用Transact-SQL创建 登录账号 121 6.1.4 创建数据库用户 122 6.1.5 使用Transact-SQL创建 数据库用户 123 6.1.6 登录账号...
丛书名:微软技术丛书 定价:69.00 编辑本段 作者简介 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows ...
丛书名:微软技术丛书 定价:69.00 编辑本段 作者简介 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows ...
丛书名:微软技术丛书 定价:69.00 编辑本段 作者简介 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows ...
解决方案一:很快我就想到用SQL SERVER 08 R2 自带的功能,生成新库脚本。把老库改个名字,跑新库脚本,然后通过数据库自带功能把老库数据导入到新库数据。测试的时候,数据量不大,速度还比较理想。 但是这对客户...
Codematic同时提供方便的多类型数据库管理,查询分析器,SQL脚本生成,存储过程生成,数据库文档生成,Web项目发布,代码批量自动输出等多项开发工作中常用到的功能,您可以很方便轻松地进行项目开发。 功能如下...
本书中所有数据库和SQL脚本例子对于这些DBMS都是适用的。 . 本书约定 本书采用等宽字体表示代码,读者输入的文本与应该出现在屏幕上的文本也以等宽字型给出。如: It will look like this to mimic the way ...
丛书名:微软技术丛书 定价:69.00 编辑本段 作者简介 William R.Stanek微软MVP(最有价值专家),拥有20多年系统管理和高级编程的经验。他是屡获嘉奖的作家,著作多达70部,其中包括Microsoft Windows ...
实例233 在程序中执行SQL脚本 实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 实例235 SQL语句的应用方法 实例236 SQL语句的模糊查询 实例237 利用查询语句复制表结构 9.2 查询控件 ...
实例233 在程序中执行SQL脚本 实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 实例235 SQL语句的应用方法 实例236 SQL语句的模糊查询 实例237 利用查询语句复制表结构 9.2 查询控件 ...
为应用程序中的非标准输入字段创建例外项 126 配置 ICA 显示设置 126 为场配置 ICA 显示设置 126 为服务器配置 ICA 显示设置 127 配置 ICA 浏览器设置 127 为服务器配置 ICA 浏览器设置 127 保护服务器场 128 1.8.2....
2.13 商品描述上传中文名图片无法显示解决方法 42 2.14 如何将ECSHOP中的相对地址改为绝对地址 43 2.15 goods.php重命名 44 2.16 在Ecshop商品详情页显示当前会员等级价格 45 2.17 修改广告链接地址affiche.php为...
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word... [字段名] [类型] [约束] ……….. CONSTRAINT fk_column FOREIGN KEY(column1,column2,…..column_n) REFERENCES tablename(column1,column2,…..column...
cc实例232 在VisualcC++中执行事务 cc实例233 在程序中执行SQL脚本 cc实例234 利用 SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 cc实例235 SQL语句的应用方法 cc实例236 SQL语句的模糊...
cc实例233 在程序中执行SQL脚本 cc实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 cc实例235 SQL语句的应用方法 cc实例236 SQL语句的模糊查询 cc实例237 利用...
cc实例233 在程序中执行SQL脚本 cc实例234 利用SQL语句执行外围命令 第9章 SQL查询相关技术 9.1 通用查询 cc实例235 SQL语句的应用方法 cc实例236 SQL语句的模糊查询 cc实例237 利用...
kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内) del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、...