请问sql_server中的数据库的排序规则名称是干什么用的?如果修改?

firestars 2003-05-30 05:12:05
如题。。
...全文
92 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengdali 2003-05-30
  • 打赏
  • 举报
回复
select * from test
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_WS

select * from test order by name

name
-----------
a上海
b上海
c上海
包钢
河北
上海
朱穆拉马

_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 区分大小写、区分重音、区分假名类型、区分宽度
CrazyFor 2003-05-30
  • 打赏
  • 举报
回复
排序规则还有一个作用,有时,比如是英文的操作系统,如果你没有选择chinese的排序规则,可能会无法保存中文。
pengdali 2003-05-30
  • 打赏
  • 举报
回复
select 1 where 'aabb' collate chinese_prc_CS_Ai = 'AaBb'
pengdali 2003-05-30
  • 打赏
  • 举报
回复
你可以指定你要区分大小写的列,指定字符集。
for example:
use pubs
go
ALTER TABLE sales
ALTER COLUMN payterms nvarchar(100) COLLATE Chinese_PRC_CI_AS
--不区分大小写
ALTER TABLE sales
ALTER COLUMN payterms nvarchar(100) COLLATE Chinese_PRC_CS_AS
--区分大小写
pengdali 2003-05-30
  • 打赏
  • 举报
回复
create database mmm
go
use mmm
go
ALTER DATABASE mmm COLLATE Latin1_General_Ci_Ai
go
create table test (a nvarchar(100))
go
insert test values(N'大力')
go
select * from test where a=N'大力'
select * from test where a='大力'

34,597

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧