collation(如何修改SQL Server 中数据库的Collation)

2025-03-28 21:10:01 0

collation(如何修改SQL Server 中数据库的Collation)

本文目录

如何修改SQL Server 中数据库的Collation

首先你要确保你有以下权限:

  1. 需要对 master 数据库的 CREATE DATABASE 权限,或需要 CREATE ANY DATABASE/ALTER ANY DATABASE 权限。

  2. 需要对数据库拥有 ALTER 权限。

然后你可以使用SSMS或者T-SQL去修改collation。

 

参考链接:https://msdn.microsoft.com/zh-cn/library/ms175835.aspx

sql中collate是什么意思

collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。语法COLLATE《collation_name》《collation_name》::={Windows_collation_name}|{SQL_collation_name}参数collation_name是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name可以只是指定的Windows_collation_name或SQL_collation_name。Windows_collation_name是Windows排序规则的排序规则名称。请参见Windows排序规则名称。SQL_collation_name是SQL排序规则的排序规则名称。请参见SQL排序规则名称。COLLATE子句只能应用于char、varchar、text、nchar、nvarchar和ntext数据类型。

sql中的collation干什么用

排序规则(collation) 关于SQL Server的排序规则,估计大家都不陌生,在创建数据库时我们经常要选择一种排序规则(conllation),一般我们会留意到每一种语言的排序规则都有许多种,比如标准大陆简体中文Chinese_PRC的排序规则就有数十种之多这些排序规则有什么作用呢?让我们先来看看MS官方的解释:排序规则指定了表示每个字符的位模式。它还指定了用于排序和比较字符的规则。排序规则具有下面的特征:语言区分大小写区分重音区分假名比如在SQL Server 2005中,排序规则名称由两部份构成,比如 Chinese_PRC_CI_AI_WS 前半部份是指本排序规则所支持的字符集,如Chinese_PRC 指针对大陆简体字UNICODE的排序规则。 后半部份即后缀的含义如下: _BIN 指定使用向后兼容的二进制排序顺序。 _BIN2 指定使用 SQL Server 2005 中引入的码位比较语义的二进制排序顺序。 _Stroke 按笔划排序 _CI(CS) 是否区分大小写,CI不区分,CS区分 _AI(AS) 是否区分重音,AI不区分,AS区分 _KI(KS) 是否区分假名类型,KI不区分,KS区分 _WI(WS) 是否区分全半角,WI不区分,WS区分 既然排序规则如此复杂,那么应用了不同排序规则的列之间默认情况下便不能进行Union、Join、Like等equal操作了,于是便有了排序规则(collation)冲突。 排序规则(collation)冲突 我们知道,SQL Server 从2000 开始,便支持多个排序规则。SQL Server 2000 的数据库可使用除默认排序规则以外的其他排序规则。此外,SQL Server 2000 还支持为列专门制定排序规则。这样一来,我们在写跨表、跨数据库、跨服务器操作的T-SQL时,如果equal的字段排序规则不同,便会发生排序规则冲突。比如我们先见两个结构相同的表,但字段的排序规则不同: -- 1. Create TableA. CREATE TABLE TagsTableA ( TagName NVARCHAR(64) COLLATE Chinese_PRC_BIN ) -- 2. Create TableB. CREATE TABLE TagsTableB ( TagName NVARCHAR(64) COLLATE Chinese_PRC_CI_AS ) 当表建好之后执行: -- 3. Try to join them SELECT * from TagsTableA A INNER JOIN TagsTableB B on A.TagName = B.TagName 便会出下类似下面的问题:无法解决 equal to 操作中 “Chinese_PRC_BIN“ 和 “Chinese_PRC_CI_AS“ 之间的排序规则冲突。常见的场景——临时表 我们知道,SQL Server的临时表是保存在Tempdb数据库中的。而使用临时表的数据库与临时表的排序规则(conllation)不一定相同。所以,当Tempdb的排序规则与当前使用临时表的数据库排序规则不同时,便会出现排序规则冲突。一般来说,我们在创建临时表时可能不会注意到排序规则,从而留下排序规则冲突的隐患。比如Openlab V4.0的Blog模块中的一个存储过程,便有着这种隐患:/****** 对?象ó: StoredProcedure = 1 -- 1 as Normal status. END -- 5. Clear and drop Temp Table. TRUNCATE TABLE #TagsTable DROP TABLE #TagsTable COMMIT TRANSACTION; RETURN 1 END TRY BEGIN CATCH IF XACT_STATE() 《》 0 BEGIN ROLLBACK TRANSACTION; RETURN -1 END END CATCHENDGO常见的解决方案 知道了什么是排序规则冲突,我们接下来分析冲突的解决方案,以数据库级别的排序规则为例,一般来说,解决方案有下面几种把SQL实例删了重建 ——大多数情况下等于没说-_-|||修改数据库的排序规则 ——参考阿牛兄的这篇文章在T-SQL中使用COLLATE DATABASE_DEFAULT来解决冲突 ——接下来主要讨论这个COLLATE DATABASE_DEFAULT Collate XXX 操作可以用在字段定义或使用时,它会将字段定义或转换成XXX 的排序规则格式。而Collate Database_Default 则会将字段定义或转换成当前数据库的默认排序规则,从而解决冲突。比如在下面的代码中便使用了Collate Database_Default 来解决字段在equal操作中的排序规则冲突: Insert into Security.Report (Name) Select C.Path From SSRS.Catalog C Where C.Path Collate Database_Default Like @ReportPath + ’/%’ And C.Path Collate Database_Default Not In (Select Name From Security.Report R)当然,在创建临时表时若对字段定义加上Collate Database_Default ,也可以方便地解决潜在的排序规则冲突,比如上一节中提到的存储过程,只要做如下修改即可。 -- 1. Create Temp Table. CREATE TABLE #TagsTable ( TagName NVARCHAR(64) COLLATE DATABASE_DEFAULT ) 结束语对于专业的SQLer来说,排序规则的应用场景还有很多,例如利用排序规则特点计算汉字笔划和取得拼音首字母等等,更多信息,请查阅MSDN文档:http://msdn.microsoft.com/zh-cn/library/aa258237(en-us,SQL.80).aspx

如何查看MySQL数据库字符集和Collation信息

补充。。。。select * from information_schema.character_sets;select * from information_schema.collations;select * from information_schema.collation_character_set_applicability;

collation(如何修改SQL Server 中数据库的Collation)

本文编辑:admin
: collation,

更多文章:


成员函数和构造函数的区别(请问构造函数和函数成员之间有什么区别)

成员函数和构造函数的区别(请问构造函数和函数成员之间有什么区别)

本文目录请问构造函数和函数成员之间有什么区别java构造函数和成员函数的区别什么是构造函数有什么用,和成员函数普通函数有什么区别JAVA中成员方法与构造方法区别成员函数 重载函数 构造函数的异同点成员函数和构造函数是什么意思c++中类的构造

2025年3月5日 02:50

stamped(stamp your foot是什么意思)

stamped(stamp your foot是什么意思)

本文目录stamp your foot是什么意思stamp是什么意思stamp什么意思stamped blade是什么意思stamp your foot是什么意思stamp your foot“跺脚“的意思英 .Stamp your rig

2025年3月30日 14:50

内存管理有哪几种方式(为什么现在手机 256G 越来越不够用了有哪些内存管理的技巧)

内存管理有哪几种方式(为什么现在手机 256G 越来越不够用了有哪些内存管理的技巧)

本文目录为什么现在手机 256G 越来越不够用了有哪些内存管理的技巧Linux进程内存管理方法Windows内存管理的几种方式和优缺点进程内存管理方法常用的内存管理方法有哪些阐述操作系统是如何对cpu,内存和磁盘进行管理的操作系统内存管理的

2025年3月3日 00:50

xposed官网下载(Vivo+V2049A+安装xposed框架)

xposed官网下载(Vivo+V2049A+安装xposed框架)

本文目录Vivo+V2049A+安装xposed框架xposed小米手机怎么安装在哪里下载xposed框架官方系统怎样安装xposed框架xposed2.6.1版本怎么下载Vivo+V2049A+安装xposed框架摘要XPosed框架是A

2025年3月17日 05:40

xlsx文件怎么打开软件(【xlsx文件怎么打开】xlsx文件打不开N种方法教你打开xlsx文件!)

xlsx文件怎么打开软件(【xlsx文件怎么打开】xlsx文件打不开N种方法教你打开xlsx文件!)

本文目录【xlsx文件怎么打开】xlsx文件打不开N种方法教你打开xlsx文件!XLSX文件如何打开xlsx文件怎么打开怎样编辑打不开xlsx文件怎么办电脑怎么打开xlsx文件如何打开xlsx文件【xlsx文件怎么打开】xlsx文件打不开N

2025年2月20日 09:40

lockdown用法(shutdown和lockdown的区别)

lockdown用法(shutdown和lockdown的区别)

本文目录shutdown和lockdown的区别如何使用lockdown browsershutdown和lockdown的区别首者的意思是:n. 停业; 停工; 关闭; 倒闭; 停止运转; I had to put uson

2025年3月31日 23:00

none怎么读(None怎么读)

none怎么读(None怎么读)

本文目录None怎么读no one,none,nothing的区别none是什么意思NONE这个单词怎么读,最好用中文翻译None怎么读none 英But what if none of that happens?但是如果什么也没发生

2025年2月28日 11:30

erp系统可以自学吗(ERP系统如何快速入门需要培训哪些知识)

erp系统可以自学吗(ERP系统如何快速入门需要培训哪些知识)

本文目录ERP系统如何快速入门需要培训哪些知识erp系统可以自学吗怎样学习SAP系统ERP系统如何快速入门需要培训哪些知识ERP系统快速入门:1、勤学ERP的知识需要浅学深学分层次,不要盲目硬啃,要根椐自己实际情况和职业定位,ERP涉及的管

2025年3月10日 00:00

scrrun dll(scrrun.dll的基本信息)

scrrun dll(scrrun.dll的基本信息)

本文目录scrrun.dll的基本信息安装程序时出现c;\windows\system32\scrrun.dll因为文件被windows保护怎样注册scrrun.dll文件网上说的scrrun.dll 这个方法不行啊scrrun.dll的解

2025年3月7日 21:50

软件体系结构有哪些(软件架构有哪些,软件架构有哪些知识)

软件体系结构有哪些(软件架构有哪些,软件架构有哪些知识)

本文目录软件架构有哪些,软件架构有哪些知识几种常见的软件体系结构及特点分析什么是软件体系结构软件体系结构 内涵软件架构有什么我们目前的软件开发架构是基于什么的软件架构有哪些,软件架构有哪些知识软件架构(softwarearchitectur

2025年4月3日 07:20

“沙盘推演”是什么?沙盘推演的方法步骤

“沙盘推演”是什么?沙盘推演的方法步骤

本文目录“沙盘推演”是什么沙盘推演的方法步骤什么是沙盘推演测评法请问什么叫做“沙盘推演”什么叫“沙盘推演”沙盘推演是什么“沙盘推演”是什么介绍:沙盘推演属于一种军旗,沙盘上模拟着下一场战争所在地的大略地形,并且在上面用各种标识标明情报掌握之

2025年2月27日 04:30

为什么lotus的跑车好?lotus root怎么读

为什么lotus的跑车好?lotus root怎么读

本文目录为什么lotus的跑车好lotus root怎么读lotus root是什么意思为什么lotus的跑车好lotus是英国历史悠久的跑车品牌,国内这个品牌知名度并不是太高,很多人都没听说过,其实lotus就是我们平时所说的“莲花跑车”

2025年2月27日 19:30

noi官网为什么上不了?noi和noip的区别

noi官网为什么上不了?noi和noip的区别

本文目录noi官网为什么上不了noi和noip的区别noi官网为什么上不了noi官网的服务器不是太好,经常出问题。你可以先尝试删一下cookie,不行就真的上不去了同ls,因为在信息学冬令营上说过所谓联赛保送取消的事情,所以有网友就喜欢黑n

2025年2月28日 17:40

javasocket(java Socket通信原理)

javasocket(java Socket通信原理)

本文目录java Socket通信原理java中的socket是什么意思java编程中,Socket通信是怎么实现的java 解释下什么是Socketjava Socket通信原理具体如下:首先socket 通信是基于TCP/IP 网络层上

2025年3月13日 07:40

boxster什么意思(跑车后箱上的turbo、coupe、gt、boxster等字样分别是什么意思)

boxster什么意思(跑车后箱上的turbo、coupe、gt、boxster等字样分别是什么意思)

本文目录跑车后箱上的turbo、coupe、gt、boxster等字样分别是什么意思保时捷boxster翻译成中文是什么跑车后箱上的turbo、coupe、gt、boxster等字样分别是什么意思你说的这些应该都是保时截的911车系的.在别

2025年3月9日 18:20

h5页面制作网站免费(免费h5页面制作软件)

h5页面制作网站免费(免费h5页面制作软件)

本文目录免费h5页面制作软件微信h5页面如何制作有没有免费的免费h5页面制作软件首先很客观的讲,市面上完全免费的h5页面制作工具是不存在的,因为没有收费模式,无法持续运营和快速产品迭代。面对日新月异的用户需求,如果不迭代更新功能,则产品的能

2025年3月22日 15:00

folders(jenkins 的 folders plugin 是做什么用的)

folders(jenkins 的 folders plugin 是做什么用的)

本文目录jenkins 的 folders plugin 是做什么用的如何打开/var/folders,Mac 综合与周边existing folders是什么意思英语To compare any two files or folders怎

2025年3月13日 14:20

塞班手机游戏jar下载专区(塞班游戏下载)

塞班手机游戏jar下载专区(塞班游戏下载)

本文目录塞班游戏下载现在哪个网站还有jar格式游戏下载谁有手机游戏JAR格式的下载网址给个,免费的哦!塞班论坛上游戏下载问题诺基亚 手机游戏下载专区为何在塞班网站下载的游戏jar格式的很多在诺基牙3230安装后都打不开塞班游戏下载诺基亚,E

2025年4月2日 06:10

flash鼠标跟随(Flash里的鼠标跟随效果是怎么做出来的)

flash鼠标跟随(Flash里的鼠标跟随效果是怎么做出来的)

本文目录Flash里的鼠标跟随效果是怎么做出来的用FLASH如何制作会跟随鼠标的星星flash怎么做鼠标跟随如何用FLASH制作文字鼠标跟随Flash里,怎么让动画元件跟随鼠标在动啊如何用flash做鼠标跟随flash怎么制作鼠标跟随效果用

2025年2月9日 11:10

关于randy这个名字?Max认识randy是哪一集

关于randy这个名字?Max认识randy是哪一集

本文目录关于randy这个名字Max认识randy是哪一集randy英文名什么意思思如何评价老鹰乐队贝斯手Randy meisner关于randy这个名字randy . . a. 喧闹的,有劲的大声的,乱闹的 n. 挑剔的女人 这

2025年3月11日 02:20

近期文章

lender(你怎么看比特币)
2025-04-05 12:50:02
本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索