sql查询结果数据类型转换问题
工作中遇到查询结果需要拼接,但是需要拼接的两个字段的类型不同,一个字段varchar类型,一个int类型
这时运行sql会报类型转换的错误。
select table.a+' '+table.b from table
a为int类型,b为varchar类型
这是因为其中一个字段为int数值类型,用加号拼接会自动进行数学运算。
这时需要将int类型转换成varchar类型进行拼接
sqlserver提供数据类型转换函数:CONVERT() 函数
语法如下CONVERT(data_type(length),data_to_be_converted,style)
解析:
data_type(length) 需要转换成的数据类型和长度,
data_to_be_converted 需要转换的数据
style 规定日期/时间的输出格式。可省略
这时,通过函数转换一下sql如下
select CONCERT(VARCHAR(10),table.a)+' '+ table.b from table
问题解决。