2013-09-24 6 views
1

Мне нужно объединить 2 столбца и показать как одно поле в моей хранимой процедуре.Преобразование данных в SQL Server 2008

Column Batch - int 
Column AdmissionNo - nvarchar 

Я попытался запрашивая как так

select (a.AdmissionNo + ' - ' + a.BatchID) as RollNo 

Но я получаю следующее сообщение об ошибке

Msg 245, уровень 16, состояние 1, процедура usp_GetAdmittedStudents, строка 7
преобразования не удалось, когда преобразование значения nvarchar '13 -01 - 'в тип данных int.

Что мне не хватает?

+0

@ User814064, благодаря связке. Ты спас мой день! :) – MusicLovingIndianGirl

ответ

2

Оба типа данных столбцов должны быть одинаковыми или отлиты для одного и того же типа.

select (a.AdmissionNo + ' - ' + CAST(a.BatchID as nvarchar)) as RollNo 

Примечание:

Все int значения типов данных могут быть отлиты в varchar/nvarchar, но не наоборот. Таким образом, это безопаснее для столбца CAST int для varchar/nvarchar.

+0

не могли бы вы уточнить? Я как бы новый для SQL. – MusicLovingIndianGirl

+0

проверить сейчас, я предполагаю, что batchID имеет тип int –

+0

Привет, получил его сейчас. Огромное спасибо :) – MusicLovingIndianGirl

Смежные вопросы