首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MS的中文排序规则

MS的中文排序规则
EN

Stack Overflow用户
提问于 2017-02-15 15:16:53
回答 1查看 8.2K关注 0票数 5

我发现在我们的产品DB为亚洲市场奇怪的行为。如果条件不像人们所期望的那样在中文信件中起作用。

代码语言:javascript
复制
create table #Temp  (TextContent nvarchar(20), ChineseType varchar(10))

insert #Temp values (N'㱔', '??')  --odd
insert #Temp values (N'', '??')  --odd
insert #Temp values (N'龪', '??')  --odd
insert #Temp values (N'㕦', 'prc') --odd
insert #Temp values (N'谷', 'prc')
insert #Temp values (N'丑', 'prc')
insert #Temp values (N'苹', 'prc')
insert #Temp values (N'松', 'prc')
insert #Temp values (N'穀', 'taiwan')
insert #Temp values (N'醜', 'taiwan')
insert #Temp values (N'蘋', 'taiwan')
insert #Temp values (N'鬆', 'taiwan')
insert #Temp values (N'隻', 'taiwan')

select * from #Temp where TextContent like ''
select * from #Temp where TextContent like N''
select * from #Temp where TextContent like N'㕦'
-- all will return
-- |TextContent | ChineseType |
-- |     㱔      |     ??      |
-- |           |     ??      |
-- |     龪      |     ??      |
-- |     㕦      |     prc     |

首先,我发现默认的排序规则是SQL_Latin1_General_CP1_CI_AS,因此我谷歌了一些关于汉字字母表、排序、校对的理论,然后我尝试了Chinese_PRC_CI_AS、Chinese_PRC_CI_AI、Chinese_PRC_CI_AS_KS_WS、Chinese_PRC_CS_AS_KS_WS,但没有成功。结果总是一样的。

代码语言:javascript
复制
select * from #Temp where TextContent like N'㕦' COLLATE Chinese_PRC_CI_AS
select * from #Temp where TextContent like N'㕦' COLLATE Chinese_PRC_CI_AI
-- all will return
-- |TextContent | ChineseType |
-- |     㱔      |     ??      |
-- |           |     ??      |
-- |     龪      |     ??      |
-- |     㕦      |     prc     |

唯一的“按预期工作”是二进制排序。Chinese_PRC_BIN,Chinese_PRC_BIN2,Latin1_General_BIN。

  • 有人解释了为什么Chinese_PRC_CI_AS不工作吗?
  • 什么是Chinese_PRC_BIN排序顺序类型?这是中国的激进(笔画)吗?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-02-16 12:21:29

经过调查,我发现了标准的GB 18030,它定义了中国软件所需的语言和字符支持。我发现微软的系统中心配置管理器与此标准兼容。仅在db排序规则设置为以下之一的情况下使用:

  • Chinese_Simplified_Pinyin_100_CI_AI
  • Chinese_Simplified_Stroke_Order_100_CI_AI

我们的客户更喜欢笔画订单,所以我尝试了Chinese_Simplified_Stroke_Order_100_CI_AI,它工作得很好。

即使它不能回答为什么Chinese_PRC_CI_AS不能工作或关于Chinese_PRC_BIN排序的更多细节,它也是适用的解决方案。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42253272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档