通配符作为存储过程的参数

时间:2014-03-02 10:40:50

标签: sql stored-procedures interbase select-query

假设我有一个存储过程,它接受一个参数-id,并返回与该id对应的一些数据。如果我想检索所有这些数据,比如在SELECT查询中使用通配符,该怎么办?这该怎么做?

1 个答案:

答案 0 :(得分:4)

您可以在查询中添加尾随'%'。假设@param是存储过程的参数:

declare @param2 varchar(100)
set @param2 = @param + '%'

select * from table where column like @param2

这将返回以@param中的值开头的通配符搜索。对于部分匹配,请使用'%' + @param + '%'

[编辑]

根据评论中的以下说明:

if @id != '*' 
begin
    select * from table where column = @id
end
else
begin
    select * from table
end