一个简单的SQL字符串问题!

watercelery 2003-01-13 02:22:42
我的存储过程:
CREATE PROCEDURE checkout_salary
@month varchar(10)
As
declare @sql varchar(1000)
set @sql='insert into saldetails select * from salhisdetails where month='+@month
exec(@sql)


我传的参数是 2002-08 执行
结果系统提示:"将 varchar 值 '2002-08' 转换为数据类型为 int 的列时发生语法错误。"
是不是字符串参数,传的不对阿?
我该怎样解决这个问题!
...全文
61 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
watercelery 2003-01-13
  • 打赏
  • 举报
回复
谢谢大力,amtyuranus,问题解决!
结贴!
pengdali 2003-01-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE checkout_salary
@month varchar(10)
As
declare @sql varchar(1000)
set @sql='insert into saldetails select * from salhisdetails where month='''+cast(@month as varchar)+''''
exec(@sql)
pengdali 2003-01-13
  • 打赏
  • 举报
回复
你试试我写的呀!!
amtyuranus 2003-01-13
  • 打赏
  • 举报
回复
你在转换为varchar型就可以了
watercelery 2003-01-13
  • 打赏
  • 举报
回复
我的month在数据库中,Varchar型的。。
pengdali 2003-01-13
  • 打赏
  • 举报
回复
CREATE PROCEDURE checkout_salary
@month varchar(10)
As
declare @sql varchar(1000)
set @sql='insert into saldetails select * from salhisdetails where month='+cast(@month as varchar)
exec(@sql)
bomber2001 2003-01-13
  • 打赏
  • 举报
回复
'2002-08'可以转换为int???
CABO 2003-01-13
  • 打赏
  • 举报
回复
你的MONTH字段是INT型?
'2002-08' 对应整型是多少阿?
这样是不能转成整型的

34,589

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧