2
假設,我有一個存儲過程,它接受一個參數-id,並返回與此id相對應的一些數據。如果我想檢索所有這些數據,比如在SELECT查詢中使用通配符,該怎麼辦?這個怎麼做?通配符作爲存儲過程的參數
假設,我有一個存儲過程,它接受一個參數-id,並返回與此id相對應的一些數據。如果我想檢索所有這些數據,比如在SELECT查詢中使用通配符,該怎麼辦?這個怎麼做?通配符作爲存儲過程的參數
您可以爲查詢添加尾隨的'%'。假設@param
是參數存儲過程:
declare @param2 varchar(100)
set @param2 = @param + '%'
select * from table where column like @param2
,將返回與@參數的值開始通配符搜索。對於部分匹配使用'%' + @param + '%'
[編輯]
基於以下澄清意見:
if @id != '*'
begin
select * from table where column = @id
end
else
begin
select * from table
end
你的答案是大約只有文本參數。如果傳遞參數是整數(例如,主鍵)會怎麼樣? –
這就是我以爲你的意思:)你的意思是,如果搜索參數是1,你想返回所有的主鍵,包括1,11,112,等等? – user3358344
我的意思是,如果我想要id = 1的行,我將1作爲參數,2 - > 2作爲參數,但是如果我想要所有現有行,該怎麼辦? –