Показать текст или Unicode в столбце - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть две колонки в моей таблице, одна содержит латинские символы (varchar), а другая содержит юникоды (n'varchar).

То, что я хочу, это когда мой первый столбец равен нулю, а затем отображает второй столбец:

isnull(column_1, column_2)

Это не работает.Поэтому я попытался преобразовать select в n'varchar следующим образом:

convert(n'varchar(50),isnull(column_1, column_2))

Но это не сработало.Значение Unicode отображается с вопросительными знаками «?».

Итак, у вас есть идея, как отобразить текст или Unicode (если текст нулевой, используйте Unicode)?

Извините за мой плохойанглийский.

1 Ответ

0 голосов
/ 20 декабря 2018

Вы должны преобразовать столбец внутри:

select isnull(cast(column_1 as nvarchar(50)), column_2) from table

Ваш запрос преобразует текст Unicode в не-Unicode (в этот момент недопустимые данные преобразуются в ? и практически теряется), а затем преобразует еговернуться к Unicode (но уже слишком поздно, потому что данные уже потеряны).

...