首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

存储过程 查询模块 varchar 转换为 int 失败,该怎么处理

2012-06-02 
存储过程 查询模块 varchar 转换为 int 失败存储过程中有如下定义@TrackID1 varchar(30)%,--起始流水号

存储过程 查询模块 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+'' '
你之前的写法,是当成数值来处理的.加引号就可以了

[解决办法]
探讨
SQL code
Set @Where=@Where+' and TrackID='''+@TrackID1+''''

热点排行