Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sqlserver2008中的数据转换_Sql_Sql Server 2008 - Fatal编程技术网

sqlserver2008中的数据转换

sqlserver2008中的数据转换,sql,sql-server-2008,Sql,Sql Server 2008,我需要连接两列并在存储过程中显示为单个字段 Column Batch - int Column AdmissionNo - nvarchar 我试着这样问 select (a.AdmissionNo + ' - ' + a.BatchID) as RollNo 但是我得到了以下错误 Msg 245,16级,州1,程序usp_GetReceignedStudents,第7行 将nvarchar值“13-01-”转换为数据类型int时,转换失败 我缺少什么?两个列数据类型必须相同或强制转换为相

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

Column Batch - int 
Column AdmissionNo - nvarchar
我试着这样问

select (a.AdmissionNo + ' - ' + a.BatchID) as RollNo
但是我得到了以下错误

Msg 245,16级,州1,程序usp_GetReceignedStudents,第7行
将nvarchar值“13-01-”转换为数据类型int时,转换失败


我缺少什么?

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

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

所有
int
数据类型值都可以强制转换为
varchar/nvarchar
,但反之亦然。
所以将int列强制转换为varchar/nvarchar更安全,您能详细说明一下吗?我对SQL有点陌生。现在检查一下,我假设batchID是intHi类型的,明白了。非常感谢:)@User814064,非常感谢。你救了我一天!:)