我正在清理一个 SQL Server 2012 数据库,其中包含一些nvarchar
包含混合字符集数据(拉丁语和泰语脚本)的列。例如:
由于我有许多列具有相同的TariffDescription文本,因此我想使用简单的 UPDATE 命令应用翻译。例如:
UPDATE Tariff.NationalTariff
SET TariffDescription = 'Liquid.'
WHERE TariffDescription = 'Thai description: - - ที่มีสภาพเหลว';
但是,当我执行此命令时,SQL Server 不会更新任何行。我通过尝试进行简单的选择来确认问题出在 WHERE 子句上:
SELECT *
FROM Tariff.NationalTariff
WHERE TariffDescription = 'Thai description: - - ที่มีสภาพเหลว';
当我期望它返回大约一百行时,这个查询返回零行。
请注意,我通过从结果表中复制和粘贴来填充 WHERE 子句字符串(使用不依赖于TariffDescription列的查询)。我无法输入泰语字符。
我不知道为什么会这样,我最好的猜测是它与混合字符集有关。有任何想法吗?