【发布时间】:2016-01-27 12:46:53
【问题描述】:
是否有与varchar 一起使用的LIKE 等价的东西可以与int 一起使用?
我想过滤三个parameters,其中两个是varchar,所以我可以使用LIKE,如果我得到一个空字符串,我仍然可以检索所有记录。但是我怎样才能用int 实现类似的事情
即使fkProductTypeID 不存在,我也想检索:
这是我的查询:
select * from Product
where Code like '%'+ @code +'%' AND name LIKE '%'+ @name +'%'
AND fkProductTypeID = @ptype
即使我提供的 ID 不存在,我也希望它能够检索结果。从前端,如果我在@code 中传递'',在@name 中传递'',在@ptype 中传递0,我希望它检索所有记录
【问题讨论】:
-
您可以在使用前将 int 转换为 varchar。即:
DECLARE @strInt varchar(20); SET @strInt = CAST(@intVal AS varchar(20) -
如果您传入名称和类型,您可能需要重新评估部分代码的附加值。
标签: sql sql-server wildcard