排序规则:COLLATE CHINESE_PRC_CI_AS_WS 的含义

在创建数据表时,常会用到这个。

含义当中,CHINESE_prc_ 是代表中国大陆。如果是台湾,则如:Chinese_TAIWAN_STROKE_CS_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和ACCESS默认是全角和半角有区分,最好要用WI,但单独靠该选项,不能排除全角和半角,只有CI区分大小写和WI区分宽度都选中,才会正确区分全角和半角。

一般只要在设计数据库时,用默认的即可,此时全角、半角和大小写不区分。

区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,
比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项

完整示例:

CREATE TABLE [book] (
[bid] [int] IDENTITY (1, 1) NOT NULL ,
[bookname] [nvarchar] (255) COLLATE Chinese_PRC_CI_AS NOT NULL )

----

ALTER DATABASE DB_1 COLLATE CHINESE_PRC_CI_AI_KS

compatibility_30_409_30001  英文?

Compatibility_198_804_30001 中文?

compatibility_198_804_30001

Compatibility 兼容排序规则
198 排序次序 十进制数字 二进制顺序、用于 936(简体中文)字符集。
804 区域设置 ID (LCID) 十六进制数字 0x804=2052 简体中文
30001 Unicode 比较样式 十六进制数字 0x30001 = 196609 (例, 不区分重音敏感, 假名不区分,宽度不区分)

对应排序规则 Chinese_PRC_BIN

可惜Chinese_PRC_BIN在数据上是一样的,在对象名上,也是大小写敏感的

05-11 16:53