Невозможно объединить два столбца в SQL Server во время печати

Я хочу напечатать два столбца таблицы в нужном формате. Я пытался с приведенным ниже форматом, но он дает ошибку, говоря

Ошибка преобразования типа данных varchar в bigint.

Это мой запрос:

Select  ClassID + ' .' + ClassSectionID AS Class 
from ClassSectionMaster  
ORDER BY Class

Кто-нибудь может сказать мне, как это сделать?

2 ответа

Решение

SQL Server не нравится тот факт, что вы пытаетесь объединить столбец типа bigint (ClassID/ClassSectionID) со строкой '.'

Я предполагаю, что вы хотите, чтобы вывод был отформатирован как "9.6", и что строки являются приемлемыми.

Вы должны использовать CAST или CONVERT, чтобы изменить тип данных на VARCHAR(x), чтобы сделать такую ​​комбинацию.

SELECT CAST(ClassID AS VARCHAR(x)) + ' .' + CAST(ClassSectionID AS VARCHAR(y)) 
    AS Class
FROM ClassSectionMaster ORDER BY Class
Select (Convert(nvarchar(10), ClassID) + ' .' + Convert(nvarchar(10), ClassSectionID)) AS Class 
from ClassSectionMaster  
ORDER BY Class
Другие вопросы по тегам