SQL Server 大小写敏感设置

1.设置SQL脚本大小写不敏感
USE [master] 
GO 
ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CI_AI 
GO


2.设置大SQL脚本大小写敏感
USE [master] 
GO 
ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CS_AI 
GO


3.设置参考值
_CI_AI   不区分大小写、不区分重音、不区分化名类型、不区分宽度       
_CI_AI_WS   不区分大小写、不区分重音、不区分化名类型、区分宽度       
_CI_AI_KS   不区分大小写、不区分重音、区分化名类型、不区分宽度       
_CI_AI_KS_WS   不区分大小写、不区分重音、区分化名类型、区分宽度       
_CI_AS   不区分大小写、区分重音、不区分化名类型、不区分宽度       
_CI_AS_WS   不区分大小写、区分重音、   不区分化名类型、区分宽度       
_CI_AS_KS   不区分大小写、区分重音、区分化名类型、不区分宽度       
_CI_AS_KS_WS   不区分大小写、区分重音、区分化名类型、区分宽度       
_CS_AI   区分大小写、不区分重音、   不区分化名类型、不区分宽度       
_CS_AI_WS   区分大小写、不区分重音、不区分化名类型、区分宽度       
_CS_AI_KS   区分大小写、不区分重音、区分化名类型、不区分宽度       
_CS_AI_KS_WS   区分大小写、不区分重音、区分化名类型、区分宽度       
_CS_AS   区分大小写、区分重音、不区分化名类型、不区分宽度       
_CS_AS_WS   区分大小写、区分重音、不区分化名类型、区分宽度       
_CS_AS_KS   区分大小写、区分重音、区分化名类型、不区分宽度       
_CS_AS_KS_WS   区分大小写、区分重音、区分化名类型、区分宽度 


 


 


*CS(Case-Sensitivity缩写):CS 指定区分大小写


 CI(Case-Insensitivity缩写):CI 指定不区分大小写。 


 


公司常用的说话集为:Chinese_PRC_CI_AS


 


举例解析 Chinese_PRC_CS_AI_WS   

 


前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规矩。   


排序规矩的后半部份即后缀 含义:   


_BIN 二进制排序   


_CI(CS) 是否区分大小写,CI不区分,CS区分   


_AI(AS) 是否区分重音,AI不区分,AS区分    


_KI(KS) 是否区分化名类型,KI不区分,KS区分    


_WI(WS) 是否区分宽度 WI不区分,WS区分 


区分大小写:若是想让斗劲将大写字母和小写字母视为不等,请选择该选项。  


区分重音:若是想让斗劲将重音和非重音字母视为不等,请选择该选项。若是选择该选项,斗劲还将重音不合的字母视为不等。  


区分化名:若是想让斗劲将片化名和平化名日语音节视为不等,请选择该选项。   


区分宽度:若是想让斗劲将半角字符和全角字符视为不等,请选择该选项

SQL Server ,可以通过修改排序规则来设置大小写敏感(Case-Insensitive)。排序规则是用于定义如何比较和排序字符串的规则集。如果排序规则是不区分大小写的,则字符串的大小写将不会影响排序或比较结果。 以下是在 SQL Server 设置大小写敏感的步骤: 1. 首先,使用 `sp_helpsort` 存储过程查看当前 SQL Server 实例支持的排序规则。找到一个不区分大小写的排序规则,比如 `SQL_Latin1_General_CP1_CI_AS`。 ```sql EXEC sp_helpsort ``` 2. 修改数据库需要设置大小写敏感的列的排序规则,使用 `ALTER TABLE` 和 `ALTER COLUMN` 语句。例如,将一个表的 `Name` 列的排序规则更改为 `SQL_Latin1_General_CP1_CI_AS`: ```sql ALTER TABLE MyTable ALTER COLUMN Name VARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS ``` 在这个例子,`COLLATE` 子句指定了使用的排序规则。 3. 如果你需要在新的表或列设置大小写敏感,可以在创建表或列时指定使用的排序规则。例如,创建一个不区分大小写的表: ```sql CREATE TABLE MyTable ( Name VARCHAR(50) COLLATE SQL_Latin1_General_CP1_CI_AS, Age INT ) ``` 在这个例子,`Name` 列的排序规则设置为 `SQL_Latin1_General_CP1_CI_AS`。 需要注意的是,在修改现有表或列的排序规则时,可能需要进行一些数据转换操作,这可能会影响性能。因此,在创建表或列时指定排序规则是最好的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值