存储过程 查询模块 varchar 转换为 int 失败
存储过程中有如下定义
@TrackID1 varchar(30)='%',--起始流水号
@TrackID2 varchar(30)='%',--结束流水号
Set @SQL='Select * into #Tm_bbs from t_job_report '
Set @Where=@Where+' and TrackID='+@TrackID1 //关键在这
TrackID 在SQL中定义为 varchar(30)
当其值为纯数字(如'20120501')时,查询模块正常。
当中出现'201205-01',出现错误“在将 varchar 值 ‘201205-01’ 转换为 int 失败”
有什么办法禁止这种转换吗?本来的就字符串,用不着转换的。
非常期待您的回复!
[解决办法]
- SQL code
Set @Where=@Where+' and TrackID='''+@TrackID1+''''
[解决办法]
- SQL code
Set @Where=@Where+' and TrackID='''+@TrackID1+''''
[解决办法]
Set @Where=@Where+' and TrackID=''+@TrackID1+'' '
你之前的写法,是当成数值来处理的.加引号就可以了
[解决办法]