Я запрашиваю базу данных SQL Server, которая использует сортировку SQL_Latin1_General_CP850_BIN2. Одна из строк таблицы имеет varchar со значением, которое содержит символ +/- (десятичный код 177 в кодовой странице Windows-1252).
Когда я запрашиваю таблицу непосредственно в SQL Server Management Studio, я получаю символ тарабарщины вместо символа +/- в этой строке. Когда я использую эту таблицу в качестве источника в пакете SSIS, таблица назначения (которая использует типичную сортировку SQL_Latin1_General_CP1_CI_AS) заканчивается правильным символом +/-.
Теперь мне нужно создать механизм, который напрямую запрашивает исходную таблицу без SSIS. Как мне это сделать таким образом, что я получаю правильный символ вместо тарабарщины? Мое предположение было бы в том, что мне нужно было бы преобразовать/бросить столбец в сопоставление SQL_Latin1_General_CP1_CI_AS, но это не работает, поскольку я продолжаю получать символ тарабарщины.
Я пробовал следующее без везения:
select
columnName collate SQL_Latin1_General_CP1_CI_AS
from tableName
select
cast (columnName as varchar(100)) collate SQL_Latin1_General_CP1_CI_AS
from tableName
select
convert (varchar, columnName) collate SQL_Latin1_General_CP1_CI_AS
from tableName
Что я делаю неправильно?