2013-09-24 58 views
1

我需要连接2列并在我的存储过程中显示为单个字段。SQL Server 2008中的数据转换

Column Batch - int 
Column AdmissionNo - nvarchar 

我想查询像这样

​​

但我得到以下错误

消息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

相关问题