做了如下实验:重建了一个试验用的数据库,在建立数据库时注意选用了collation: Chinese_PRC_BIN(说实话,不知道到底应该选哪一个,有for若干个中文的collation)实验1)导入了一个有中文的表,表中name字段含有中文,按name字段排序,仍然不是遵循中文拼音的次序。实验2)在此数据库中另外新建一个表,对这个表本身也使用了Chinese_PRC_BIN, 如下:drop table test
create table test
(name nvarchar(100)
COLLATE Chinese_PRC_BIN )insert into test(name)
values(N'上海')
insert into test(name)
values(N'包钢')
insert into test(name)
values(N'a上海')
insert into test(name)
values(N'b上海')
insert into test(name)
values(N'c上海')insert into test(name)
values(N'河北')
insert into test(name)
values(N'朱穆拉马')select * from test
order by name ASC结果仍然是没有按拼音排序,:( 如下:
a上海
b上海
c上海
上海
包钢
朱穆拉马
河北高手指点指点?
create table test
(name nvarchar(100)
COLLATE Chinese_PRC_BIN )insert into test(name)
values(N'上海')
insert into test(name)
values(N'包钢')
insert into test(name)
values(N'a上海')
insert into test(name)
values(N'b上海')
insert into test(name)
values(N'c上海')insert into test(name)
values(N'河北')
insert into test(name)
values(N'朱穆拉马')select * from test
order by name ASC结果仍然是没有按拼音排序,:( 如下:
a上海
b上海
c上海
上海
包钢
朱穆拉马
河北高手指点指点?
19978 21253 26417 27827
----------- ----------- ----------- -----------
97 98 99 100
order by name collate Chinese_PRC_CS_AS_KS_WS name
-----------
a上海
b上海
c上海
包钢
河北
上海
朱穆拉马or:
alter table test alter column name nvarchar(100) COLLATE Chinese_PRC_CS_AS_KS_WSselect * from test order by namename
-----------
a上海
b上海
c上海
包钢
河北
上海
朱穆拉马
重建 master 数据库 关闭 Microsoft® SQL Server™ 2000,然后运行 Rebuildm.exe。该程序位于 Program Files\Microsoft SQL Server\80\Tools\Binn 目录中。
在"重建 Master"对话框中单击"浏览"按钮。
在"浏览文件夹"对话框中,选择 SQL Server 2000 光盘上或用于安装 SQL Server 2000 的共享网络目录中的 \Data 文件夹,然后单击"确定"按钮。
单击"设置"按钮。在"排序规则设置"对话框中,验证或更改用于 Master 数据库或其它数据库的设置。
最初,显示的是默认排序规则设置,但这些设置有可能与安装期间选择的排序规则不匹配。可以选择与安装期间使用的排序规则相同的设置,也可以选择新的排序规则设置。完成后单击"确定"按钮。在"重建 Master"对话框中单击"重建"按钮以启动进程。
重建 Master 实用工具重新安装 master 数据库。
繁体中文(台湾) 0x404 Chinese_Taiwan_Stroke 950
简体中文(中华人民共和国) 0x804 Chinese_PRC 936
简体中文(中华人民共和国) 0x20804 Chinese_PRC_Stroke 936
中文(新加坡) 0x1004 Chinese_PRC 936
congratulations!Thanks all as well!
_BIN 二进制排序
_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 区分大小写、区分重音、区分假名类型、区分宽度
我当时在SqlServer Books Online上找了半天都没有得到满意的解答。
谢谢!这个帖子我要晚点结,多方两天让大家看看吧。