2014-03-02 2 views
2

하나의 매개 변수 -id를 허용하고이 ID에 해당하는 일부 데이터를 반환하는 저장 프로 시저가 있다고 가정합니다. SELECT 쿼리에서 와일드 카드 사용과 같은 모든 데이터를 검색하려면 어떻게해야합니까? 이 작업을 수행하는 방법?와이드 카드 저장 프로 시저의 매개 변수로

답변

3

'%'를 쿼리에 추가 할 수 있습니다. @param이 저장 프로 시저에 매개 변수라고 가정 : @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 
+0

당신의 대답은 텍스트 매개 변수 만에 관한 것입니다. 전달 된 매개 변수가 정수인 경우 (예 : 기본 키)? –

+0

그건 내가 당신이 의미하는 줄 알았는데 :) 검색 매개 변수가 1이면 1, 11, 112 등의 모든 기본 키를 반환하겠습니까? – user3358344

+0

id = 1 인 행을 원하면 매개 변수로 1을 전달하고 매개 변수로 2 -> 2를 전달하지만 모든 기존 행을 원한다면 어떻게해야합니까? –

관련 문제