我正在搜索和搜索,但仍然......给我一个错误。
我有这个存储过程:
CREATE procedure _spItemList
(
@branch nchar(12)
, @ItemNo float
, @ItemDescription char(60)
)
as
begin
SET NOCOUNT ON;
select
Branch
, CONVERT(varchar(100), ItemNo) ItemNo
, Description1
, Description2
, FullDescription
from
_ItemList
where
(Branch LIKE '%' + @branch + '%' or ISNULL(@branch, '') = '')
and (ItemNo LIKE '%' + @ItemNo + '%' or ISNULL(@ItemNo, '') = '')
and (FullDescription LIKE '%' + @ItemDescription + '%' or ISNULL(@ItemDescription, '') = '')
end
我有以下表结构:
CREATE TABLE _ItemList
(
[ItemNo] [float] NULL,
[Description1] [char](30) NULL,
[Description2] [char](30) NULL,
[FullDescription] [char](60) NULL
)
当我执行存储过程时,出现错误:
将数据类型varchar转换为float
时出错
出了什么问题?存储过程中的SQL Server参数已与表中的列具有相同的数据类型。有谁知道吗?
答案 0 :(得分:1)
尝试转换这句话,因为你的'%'(字符串)与@ItemNo(浮点值)连接,请查看:
None