COLLATE CHINESE_PRC_CI_AS_WS 的含义

排序规则: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在数据上是一样的,在对象名上,也是大小写敏感的

时间: 2024-11-10 07:29:04

COLLATE CHINESE_PRC_CI_AS_WS 的含义的相关文章

MySQL 插入中文不乱码的5种方法

MySQL 插入中文不乱码的5种方法: 方法一: 登录MySQL,先做 set names latin1 ,然后在更新语句或者执行SQL语句 mysql> set names latin1; mysql> source  test.sql; 方法二: 在SQL文件中指定set names latin1;然后登录MySQL,执行相应文件    [[email protected] ~]# cat test.sql  set names latin1; insert ***************

MySql的索引操作

索引是一种特殊的数据库结构,可以用来快速查询数据库表中的特定记录.索引是提高数据库性能的重要方式.MySQL中,所有的数据类型都可以被索引.MySQL的索引包括普通索引.唯一性索引.全文索引.单列索引.多列索引和空间索引等. 索引是一种将数据库中单列或者多列的值进行排序的结构.应用索引,可以大幅度提高查询的速度.用户通过索引查询数据,不但可以提高查询速度,也可以降低服务器的负载.用户查询数据时,系统可以不必遍历数据表中的所有记录,而只需查询索引列.一般过程的数据查询是通过遍历全部数据,并寻找数据

理解collate Chinese_PRC_CI_AS

我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影. 语法是collate collation_name collation_name ::={windows_collation_name}|{sql_collation_name} 参

数据库排序规则的冲突(理解collate Chinese_PRC_CI_AS)

之前碰到了数据库排序规则冲突问题,即百度或者 Google 的老话题: " 无法解决 equal to 操作中' sql_latin1_general_cp1_ci_as '和' chinese_prc_ci_as '之间的排序规则冲突 " .一般的方法,是在创建临时表或表连接的时候加上规则校勘语句 COLLATE "规则名"解决,如: create table #example ( EXP_Name varchar (50) collate CHINESE_PRC

SQL collate

我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面: 首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影. 语法是collate collation_name collation_name ::={windows_collation_name}|{sql_collation_name} 参

java socket编程中backlog的含义(zz)

使用Java.NET.ServerSocket能够方便的创建一个服务端套接字,这个类的构造函数有一个参数backlog.下面这段代码,在本机的8888端口上建立了一个套接字,backlog设置为5. [java] view plain copy // port:8888,backlog:5 ServerSocket server = new ServerSocket(8888, 5); 下面的Client是我们的测试类,会创建30个socket连接. [java] view plain copy

数字51在域名里有什么含义吗? 为什么叫51cto

数字51在域名里有什么含义吗? 为什么叫51cto

2>&1 >/dev/null & 与/dev/null 2>&1含义

/dev/null 代表空设备文件 > 代表重定向到哪里,例如:echo "123" > /home/123.txt 1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 & 表示等同于的意思,2>&1,表示2的输出重定向等同于1 1>/dev/null 首先表示标准输出重定向到空设备文件,也就是不输出任何信息到

mysql慢查询优化之explain的各列含义

mysql> explain select customer_id,first_name,last_name from customer; +----+-------------+----------+------+---------------+------+---------+------+------+-------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra