导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

一个简单的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 的列时发生语法错误。"
是不是字符串参数,传的不对阿?
我该怎样解决这个问题!
...全文
44 点赞 收藏 8
写回复
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' 对应整型是多少阿?
这样是不能转成整型的
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告