Я очищаю базу данных 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). Я не могу печатать тайскими иероглифами.
Я понятия не имею, почему это происходит, и я думаю, что это как-то связано со смешиванием наборов символов. Любые идеи?