SQL Server - Преобразование varchar в другое сопоставление (кодовая страница) для исправления кодировки символов

Я запрашиваю базу данных 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

Что я делаю не так?

20
задан marc_s 11 November 2011 в 05:45
поделиться