Sql server 2005 SQL Server 2005 Unicode字符串排序问题
我有一张名为“Soum”的桌子。此表具有名为Sql server 2005 SQL Server 2005 Unicode字符串排序问题,sql-server-2005,sorting,Sql Server 2005,Sorting,我有一张名为“Soum”的桌子。此表具有名为'Name'的NVARCHAR(100)字段。但是按名称排序,这是错误的。请看图片。在执行查询之后 第一个红色行排序错误 我不明白为什么这是错误的工作。我检查了字符是否相同。但是“}”字符在红色行中是相同的。我正在尝试重新插入这3行。但结果是一样的 如何修复此错误?我不想添加订单字段。出什么问题了?你能检查一下排序中的“ψ”和“Γ”吗?Аdd 2使用该名称进行试验的记录,并按名称进行排序。我认为“Γ”中的问题可以运行以下命令以获取所有排序规则: SE
'Name'
的NVARCHAR(100)
字段。但是按名称排序
,这是错误的。请看图片。在执行查询之后
第一个红色行排序错误
我不明白为什么这是错误的工作。我检查了字符是否相同。但是“}”字符在红色行中是相同的。我正在尝试重新插入这3行。但结果是一样的
如何修复此错误?我不想添加订单字段。出什么问题了?你能检查一下排序中的“ψ”和“Γ”吗?Аdd 2使用该名称进行试验的记录,并按名称进行排序。我认为“Γ”中的问题可以运行以下命令以获取所有排序规则:
SELECT
name,
COLLATIONPROPERTY(name, 'CodePage') as CodePage,
COLLATIONPROPERTY(name, 'LCID') as LCID,
COLLATIONPROPERTY(name, 'ComparisonStyle') as ComparisonStyle,
description
FROM ::fn_helpcollations()
这就是你的问题
select * from soum order by [name] collate SQL_Latin1_General_CP1_CI_AS
-- SQL_Latin1_General_CP1_CI_AS = your collation
这列的排序规则设置正确了吗?排序规则是比较字符的规则,因为相同的字符在不同的语言中可能具有不同的字母顺序。尽管我认为不管排序规则是什么,这种情况都应该正确排序,但这仍然是我检查的第一件事,因为你永远无法用Unicode来判断……我的数据库排序规则是SQL\u Latin1\u General\u CP1\u CI\u ASHow来创建自定义排序规则。我的语言是蒙古语。但是找不到蒙古文排序规则。SQL Server 2008似乎支持更多排序规则,例如,a,这是SQL Server 2008中的一项新功能-在2005年不受支持,很抱歉。这看起来像是用西里尔字母书写的蒙古文。西里尔文有一般的校勘吗?