Невозможно объединить два столбца в 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