(Выберите FirstName + ' ' + LastName из Members выдает ошибку. Неявное преобразование значения varchar в varchar не может быть выполнено
Select FirstName + ' ' + LastName from Members
Выдает ошибку:
Неявное преобразование значения varchar в varchar невозможно, поскольку сопоставление значения не разрешено из-за конфликта сопоставления.
Но работает нормально когда беру FirstName
а также LastName
в отдельных столбцах, таких как
Select FirstName, LastName From Members
Я хочу выбрать имя и фамилию в одном столбце
4 ответа
Кажется, у вас разные таблицы в одной таблице - очень необычно
Попробуй это:
SELECT
FirstName COLLATE DATABASE_DEFAULT + ' '
+ LastName COLLATE DATABASE_DEFAULT AS FullName
FROM Members
Если это работает, я предлагаю вам изменить сопоставление на FirstName и LastName, а не на исправление запроса.
Это пример того, как изменить параметры сортировки:
ALTER TABLE Members
ALTER COLUMN LastName
varchar(20) COLLATE DATABASE_DEFAULT NOT NULL
Посмотри, какая сортировка у тебя в базе данных. Вы можете увидеть это в свойствах.
Это сопоставление вы должны добавить в свои выписки, чтобы временно изменить сопоставление поля.
пример:
Ваша база данных имеет параметры сортировки "Latin1_General_CS_AS", параметры сортировки tempdb - "Latin1_General_CI_AS", ваш оператор должен выглядеть следующим образом, поскольку динамический SQL будет обрабатываться в базе данных tempdb.
Попробуй это
select CAST(FirstName AS VARCHAR) + ' ' + CAST(LastName AS VARCHAR)from Members
or
select CONVERT(VARCHAR(100),FirstName) + ' ' + CONVERT(VARCHAR(100),LastName )from Members
Попробуй это
Select concat(concat(FirstName , ' '), LastName) as final from Members