修改 sql server 排序规则

本文介绍了如何在SQL Server中查看和更改排序规则,并解释了不同排序规则的影响,包括区分大小写、区分重音等特性。
[转载]
sql排序规则 如果要是区分大小写的话,就要改变数据库的排序规则。
1、查看系统中所支持的全部排序规则列表 SELECT * FROM ::fn_helpcollations() .
2、查看当前系统的排序规则. SELECT SERVERPROPERTY('Collation')
3、改变数据库的排序规则(做ALTER之前,要中断所有用户对此数据库的访问)
语法: use master go ALTER DATABASE 数据库名 COLLATE 排序规则名.

Windows 排序规则名称 使用下表使排序规则设置与另一个 Windows 区域设置保持一致。 在"控制面板"的"区域设置"应用程序(Microsoft® Windows NT® 4.0、Microsoft Windows 98® 和 Microsoft Windows 95)或"区域选项"应用程序 (Microsoft Windows 2000) 中找到 Windows 区域设置名称,然后使用此表找到相应的排序规则指示器和代码页。 Windows 区域设置 LCID(区域设置 ID) 排序规则指示器 代码页
Windows 排序规则排序样式 在"排序规则设置"屏幕上,可以选择"二进制"排序次序,也可以定义用于选定的排序规则指示器(Windows 排序规则名称)的排序样式。 说明 对于 Windows 排序规则,nchar、nvarchar 和 ntext 数据类型具有与 char、varchar 和 text 数据类型相同的排序行为。有关更多信息,请参见 SQL Server 排序规则基础知识。 排序次序 描述 二进制 根据为每个字符所定义的位模式对 Microsoft® SQL Server™ 表中的数据进行排序和比较。二进制排序次序区分大小写,先小写字母后大写字母并且区分重音。这是最快的排序次序。 如果不选中此选项,SQL Server 将按照字典中定义的相关语言或字母表的排序及比较规则进行排序。 区分大小写 指定 SQL Server 区分大小写字母。 如果不选中此规则选项,SQL Server 会认为大小写字母等价。如果不选中"区分大小写"选项,SQL Server 就不定义大小写字母之间的高低排序关系。 区分重音 指定 SQL Server 区分重音和非重音字符。例如,"a"不等同于"á"。 如果不选中此选项,SQL Server 会认为重音与相应的非重音字母等价。 区分假名 指定 SQL Server 区分两种类型的日文假名字符:平假名和片假名。 如果没有选择,SQL Server 会认为平假名和片假名等价。 区分宽度 指定 SQL Server 区分相同字符的单字节表示法(半角)和双字节表示法(全角)。 如果没有选择,则 SQL Server 将认为相同字符的单字节表示法和双字节表示法等效。
### 更改 SQL Server 排序规则的方法 #### 获取当前服务器排序规则 为了确认现有的排序规则,在查询分析器中可以执行如下命令来获取服务器的排序规则设置: ```sql SELECT SERVERPROPERTY('Collation') ``` 此语句返回的结果即为当前服务器所使用的排序规则[^3]。 #### 备份现有数据 在进行任何排序规则变更前,建议备份所有重要数据。这可以通过分离数据库实现,确保不会因操作失误而导致不可逆的数据丢失风险。具体做法是在更改排序规则之前先分离所需保护的数据文件[^1]。 #### 修改实例级别的排序规则 如果要改变整个SQL Server 实例的默认排序规则,则需重新安装SQL Server 并指定新的排序规则选项。这是因为在不重装的情况下无法直接修改实例级别的排序属性。不过需要注意的是,这样做会使SQL Server 恢复至初始配置状态,因此务必提前做好充分准备并完成必要的迁移工作。 对于已经存在的数据库,默认情况下其排序规则继承自创建时所在的实例级别设定;但如果希望单独调整某个特定数据库而非整体环境的话,则可通过`ALTER DATABASE`语句来进行局部定制化处理[^4]。 #### 使用 ALTER DATABASE 命令更新单个数据库的排序规则 针对已有的数据库对象(表、列),可以在不影响其他组件的前提下独立地应用不同的排序规则。下面是一个简单的例子展示如何通过T-SQL语法对单一数据库实施此类变动: ```sql USE master; GO ALTER DATABASE YourDatabaseName COLLATE Chinese_PRC_CI_AS ; GO ``` 请注意上述代码中的 `YourDatabaseName` 和目标排序规则名称应被替换为你实际想要影响的对象以及期望采用的新规制方案。同时也要留意脚本内的空白字符位置保持不变以免引起解析错误[^5]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值