在将 varchar 值转换成数据类型 int 时失败。

lw402365015 2010-08-23 10:23:40
今天最大的杯具! 写了一个存储过程 居然报这个错 代码如下
alter proc sd
(
@MyUnitInfo_id varchar(100),
@jianhao varchar(100),
@name varchar(100),
@cartype varchar(100),
@address varchar(100),
@pinpai varchar(100)
)
as

BEGIN

declare @sqlstr nvarchar(4000)

set @sqlstr='select * from MaterialInfos where MyUnitInfo_id='+cast(@MyUnitInfo_id as varchar(100))
if @jianhao <> ''
begin
set @sqlstr=@sqlstr+' and MaterialInfo_Id='+cast(@jianhao as varchar(100))
end
if @name <> ''
begin
set @sqlstr=@sqlstr+ ' and MaterialInfo_Name='+cast(@name as varchar(100))
end
if @cartype <> ''
begin
set @sqlstr=@sqlstr+' and ApplyCarTypes='+cast(@cartype as varchar(100))
end
if @address <> ''
begin
set @sqlstr=@sqlstr+' and ProduceArea_Id='+cast(@address as varchar(100))
end
if @pinpai <> ''
begin
set @sqlstr=@sqlstr+' and Brands_Id='+cast(@pinpai as varchar(100))
end
exec(@sqlstr)
END


晕倒得很,问题是报错的列 不是int型!
在将 varchar 值 'd0d12d0e-c494-4cc4-aca2-0492518d6690' 转换成数据类型 int 时失败。 请教各位。。。。
...全文
570 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
lw402365015 2010-08-23
  • 打赏
  • 举报
回复
....请说清楚一点
hao1hao2hao3 2010-08-23
  • 打赏
  • 举报
回复
好像没有看到显示转换为int的操作,是不是相加的时候,前面的列(或者其他的列)是int型的?
东那个升 2010-08-23
  • 打赏
  • 举报
回复
isnumric(column) 判断一下

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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