SQL Server字符编码

时间:2018-11-09 15:53:52

标签: sql-server tsql collation

我们的表中有一个nvarchar列,使用排序规则SQL_Latin1_General_CP1_CI_AS

其中有两条记录,它们在视觉上具有相同的值:

AM209405
AM209405

这些与希腊帐户有关。但是...当我们查看字符的ASCII值时,会得到以下信息:

enter image description here

最上面的一个带有标准代码的A和M。底部的A和M都具有相同的代码63。

因此,当我们比较时,不会返回任何行:

select *
from dbo.mytable a
inner join dbo.mytable b on b.TheValue = a.TheValue

我正在寻找通过整理或其他方法将它们显示为匹配项的方法,这是这样的(不起作用):

select *
from dbo.mytable a
inner join dbo.mytable b on b.TheValue = a.TheValue collate greek_ci_as

我唯一想到的另一种方法是创建某种映射表,将两者等同。

任何建议都值得赞赏,我欢迎您提出任何问题。

谢谢。

0 个答案:

没有答案