Can';t比较不同版本Unicode中的Unicode字符。SQL server

Can';t比较不同版本Unicode中的Unicode字符。SQL server,sql,sql-server,unicode,nvarchar,Sql,Sql Server,Unicode,Nvarchar,我有两张桌子 表1:雇主ID nvarchar(20), 雇员姓名nvarchar(50) (几年前由某人创建。) 表2:雇主ID nvarchar(20), 雇员姓名nvarchar(50) (我最近创建此应用程序是为了更新应用程序。) 然而,我似乎无法比较某些unicode字符。例如:“Ð123”中的“Д。 我尝试了这个查询,但对那些字符无效 update Table2 set Table2.EmployeeName = (select Table1.EmployeeName from T

我有两张桌子

表1:雇主ID nvarchar(20), 雇员姓名nvarchar(50)

(几年前由某人创建。)

表2:雇主ID nvarchar(20), 雇员姓名nvarchar(50)

(我最近创建此应用程序是为了更新应用程序。)

然而,我似乎无法比较某些unicode字符。例如:“Ð123”中的“Д。 我尝试了这个查询,但对那些字符无效

update Table2 set
Table2.EmployeeName = (select Table1.EmployeeName from Table1
where Table1.EmployeeID like Table2.EmployeeID)
而且

update Table2 set
Table2.EmployeeName = (select Table1.EmployeeName from Table1
where Table1.EmployeeID like N'%' + Table2.EmployeeID +'%')

但它仍然不起作用。这两个表在EmployeeID列中都有这个“Ð123”,它们都是unicode类型。所以我认为,由于unicode的不同版本可能会导致这个问题,但我不知道如何解决它。希望您能提供帮助。

我找到了一种临时解决方法,将表1和表2加载到c#应用程序中,然后比较并更新回数据库。

请解释“不工作”的含义。“unicode的不同版本”极不可能与您的问题有关;创建早期表时,数据库排序规则很可能不同。它返回0行。但是我找到了暂时修复它的方法。非常感谢。