1

我需要连接 2 列并在我的存储过程中显示为单个字段。

Column Batch - int 
Column AdmissionNo - nvarchar

我试过这样查询

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

但我收到以下错误

消息 245,级别 16,状态 1,过程 usp_GetAdmittedStudents,第 7 行将
nvarchar 值“13-01 -”转换为数据类型 int 时转换失败。

我错过了什么?

4

1 回答 1

2

两种列数据类型必须相同或强制转换为相同类型。

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

笔记 :

所有int数据类型值都可以转换为,varchar / nvarchar但反之则不行。因此将 int 列转换为 varchar/nvarchar 更安全

于 2013-09-24T05:22:52.393 回答