消息 245,(246)级别 16,状态 1,将varchar类型转黄成int型时失败

来源:互联网 发布:学c语言看什么书 编辑:程序博客网 时间:2024/06/06 00:10

    在数据库中,将sql语句拼接成一个字符串,其中有int型的数据拼接到一起,执行的时候就出现啦

消息 245,级别 16,状态 1,第 66 行
在将 varchar 值 '

消息 245,级别 16,状态 1,第 65 行
在将 varchar 值 '
SELECT  
p.Br_Division_Code,

COUNT(DISTINCT p.Staff_No) [人数],
' 转换成数据类型 int 时失败。

    查得:在C# .NET里字符串与数字相加,所得的结果都是string型,在SQLserver 里面恰恰相反,sql里面数字与字符相加,会把字符转换成数字,如果转换不成功就出现这个‍ 消息 245,级别 16,状态 1 错误。

    解决:先把数字显示转换 cast(@number as varchar(50))然后再与字符相加,就可以啦

阅读全文
0 0