学生管理系统--排序规则的认识

来源:互联网 发布:淘宝螺旋是什么意思 编辑:程序博客网 时间:2024/06/05 11:14

创建系统用户表格


排序规则的认识


排序规则的查询


排序规则的实践


创建系统用户表格
create table[dbo].[user_Info1](
[user_ID]char(10)COLLATE Chinese_PRC_CI_ASNOT NULL,
[user_PWD]char(10)COLLATE Chinese_PRC_CI_AS NULL,
[user_Des]char(10)COLLATE Chinese_PRC_CI_AS NOT NULL,
)
ON[PRIMARY]
这里写图片描述

这里写图片描述
排序规则的认识
排序规则是根据特定语言和区域设置标准指定对字符串数据进行排序和比较的规则。
SQL Server 支持在单个数据库中存储具有不同排序规则的对象。
这里写图片描述
MSDN解释:在 Microsoft SQL Server中,字符串的物理存储由排序规则控制。
排序规则指定表示每个字符的位模式以及存储和比较字符所使用的规则
国外一般设置SQL_Latin1_General_CP1_CI_AS。
这里写图片描述
这里写图片描述

排序规则的查询
排序规则指定了表示每个字符的位模式。它还指定了用于排序和比较字符的规则。
排序规则的特征是区分语言、区分大小写、区分重音、区分假名以及区分全半角。如下所示:
Chinese_PRC_CI_AS 前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则,CI表示不区分大小写,AS表示区分重音。
排序规则的后半部份即后缀 含义:
_BIN 指定使用向后兼容的二进制排序顺序。
_BIN2 指定使用 SQL Server 2005 中引入的码位比较语义的二进制排序顺序。
_Stroke 按笔划排序
_CI(CS) 是否区分大小写,CI不区分,CS区分(case-insensitive/case-sensitive)
_AI(AS) 是否区分重音,AI不区分,AS区分(accent-insensitive/accent-sensitive)
_KI(KS) 是否区分假名类型,KI不区分,KS区分(kanatype-insensitive/kanatype-sensitive)
_WI(WS) 是否区分全半角, WI不区分,WS区分(width-insensitive/width-sensitive)

排序规则的实践
1. 查看数据库支持哪些排序规则可以通过下面系统函数查看: ‘select * from ::fn_helpcollations();’

2.查看服务器排序规则(数据库实例排序规则):‘SELECT SERVERPROPERTY(N’Collation’)’