Лучший ответ - просмотреть существующие данные и изменить все экземпляры одного на другой, чтобы они были согласованными.
Создать UDF
Create Function dbo.ReplaceHtmlEntities(@arg NVARCHAR(MAX) collate Latin1_General_Bin)
returns NVARCHAR(MAX)
as
begin
if @arg is null return @arg
if not @arg like '%&%;%' return @arg
-- Collation matters here obviously!!
-- Auto generated lines
-- These lines should be generated from a list of entities and Unicode values
-- In practice you can limit this to the ones you actually have a problem with
set @arg = replace(@arg, 'Ä' collate Latin1_General_BIN, char(0xUUUU))
set @arg = replace(@arg, 'ä' collate Latin1_General_BIN, char(0xUUUU))
set @arg = replace(@arg, 'Ö' collate Latin1_General_BIN, char(0xUUUU))
set @arg = replace(@arg, 'ö' collate Latin1_General_BIN, char(0xUUUU))
-- For speed you can group them more common first, and short-circuit where possible
if not @arg like '%&%;%' return @arg
-- a lot more lines....
return @arg
end
Тогда вам просто нужно пройти все ваши столы с этим лотом !!!!