无法比较不同版本的Unicode中的Unicode字符。 SQL服务器

时间:2014-04-10 01:19:37

标签: sql sql-server unicode nvarchar

我有2张桌子

表1:EmployeeID nvarchar(20),           EmployeeName nvarchar(50)

(几年前由某人创建。)

表2:EmployeeID nvarchar(20),           EmployeeName 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 个答案:

答案 0 :(得分:0)

我通过将table1和table2加载到c#应用程序找到了一种暂时解决方法,然后比较并更新回数据库。

相关问题