SQL server 调试。

1.写好Exc procedure ***;

2.用机器名登录数据库; 不能用local,不能用.   

可以在cmd中 运行 hostname 来获取主机名



在SQL Server 2008 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型


问题:
(下面@tinyint_var代表一个数值类型的变量,是传递进来的参数)
在SQL Server2008的存储过程中形如set @sql='select * from test where age='+@tinyint_var+'order by sex';
会报varchar 'select * from test where age='转化为数值类型(tinyint或int等,上面的SQL语句只是示意)出错。

解决思路:
把数值1转成varchar类型即可,使用cast(@tinyint_var as varchar)即可(注意不是varchar(xx))

解决后语句:
set @sql='select * from test where age='+cast(@tinyint_var as varchar)+'order by sex';

总结:
在SQL Server 2008 存储过程中拼接字符串时,若存在varchar和数值型则varchar自动转化为数值型。需要使用cast()函数来进行不同类型间的转化(varchar、int、tinyint等,字符串类型和数值类型互相转化)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值