Oracle默认是大小写敏感,而SQLServer默认大小写不敏感,
尤其是涉及主键字段时,注意请提前设置SQLServer对应的数据库表为大小写敏感,不然会报主键冲突的错误。
设置表内大小写敏感
1 ALTER TABLE 表名 2 ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CI_AS 3 --不区分大小写 4 5 6 ALTER TABLE tb 7 ALTER COLUMN colname nvarchar(100) COLLATE Chinese_PRC_CS_AS 8 --区分大小写
设置整个数据库大小写敏感
ALTER DATABASE [DatabaseName] COLLATE Chinese_PRC_CS_AS
另外,除了大小写,还有是否区宽度(全角和半角)等,例如中文和英文状态的括号。
设置参考值
_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
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则。
排序规则的后半部份即后缀 含义:
_BIN 二进制排序
_CI(CS) 是否区分大小写,CI不区分,CS区分
_AI(AS) 是否区分重音,AI不区分,AS区分
_KI(KS) 是否区分假名类型,KI不区分,KS区分
_WI(WS) 是否区分宽度 WI不区分,WS区分
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。
引用文章:
http://www.cnblogs.com/sandunban/p/7272291.html
https://blog.csdn.net/renzhadebenyuan/article/details/79631156
http://www.cnblogs.com/Bloghjb/p/9323845.html