【发布时间】:2014-05-23 12:05:25
【问题描述】:
我有两张桌子
Table1 : EmployeeID nvarchar(20), 员工姓名 nvarchar(50)
(几年前由某人创建。)
Table2 : EmployeeID nvarchar(20), 员工姓名 nvarchar(50)
(我最近创建了更新应用程序。)
但是,我似乎无法比较一些 unicode 字符。例如:“D123”中的“D”。 我试过这个查询,但它不适用于那些字符。
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的不同版本可能会导致这个问题,但我不知道如何解决它。希望你能帮忙。
【问题讨论】:
-
请解释“不工作”是什么意思。 “不同版本的 unicode”极不可能与您的问题有关;很可能在创建早期表时数据库排序规则不同。
-
返回0行效果。但我找到了临时修复它的方法。谢谢。
标签: sql sql-server unicode nvarchar