首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用join子句对sql server中的utf字符串排序

用join子句对sql server中的utf字符串排序
EN

Stack Overflow用户
提问于 2014-12-29 13:21:22
回答 3查看 122关注 0票数 0

我有以下sql代码,它工作良好,但不对Party.Name进行排序,这是一个非ASCII字符串:

代码语言:javascript
复制
Select  Party.Name 
FROM B_Customer  
Inner Join dbo.AccDomain On AccDomain.AccID = B_Customer.AccID  
Inner Join Party On PartyID = AccDomain.DomainID    
ORDER BY Party.Name  COLLATE Frisian_100_CI_AI

还请注意,以下代码进行了适当的排序:

代码语言:javascript
复制
select name  from Party where TypeID=10 order by name COLLATE Frisian_100_CI_AI

对于我的分类问题,我该怎么办?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-31 21:16:28

我发现问题了!问题是在我存储的数据中,我表中的字符串数据是以“波斯语”表示的,但有些字符是“阿拉伯语”,看起来与波斯语非常相似:

代码语言:javascript
复制
Persian : ی , Arabic :ئ 
Persian : ک , Arabic :ك

所以Server无法理解我使用的是什么语言:)我猜有些用户可能会使用阿拉伯键盘输入数据,所以我需要在将这些字符添加到数据库之前替换它们。

票数 0
EN

Stack Overflow用户

发布于 2014-12-29 13:31:01

尝尝这个

代码语言:javascript
复制
   Select  p.Name FROM B_Customer b,Party p,AccDomain a
   where a.AccID = b.AccID  and
   p.PartyID = a.DomainID
   ORDER BY p.Name  COLLATE Frisian_100_CI_AI

如本答覆有任何问题,请评论我.:)

票数 0
EN

Stack Overflow用户

发布于 2014-12-29 15:00:08

这个怎么样?

代码语言:javascript
复制
Select  Party.Name COLLATE Frisian_100_CI_AI
FROM B_Customer  
Inner Join dbo.AccDomain On AccDomain.AccID = B_Customer.AccID  
Inner Join Party On PartyID = AccDomain.DomainID  COLLATE Frisian_100_CI_AI  
ORDER BY Party.Name  COLLATE Frisian_100_CI_AI
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27689730

复制
相关文章

相似问题

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