0
NULL이거나 아닐 수도있는 몇 가지 매개 변수를 사용하는 저장 프로 시저가 있습니다.ISNULL 또는 "LIKE"사용
매개 변수 값이 명확한 경우 ISNULL 옵션을 사용할 수 있지만 null 대신 "LIKE"를 사용하려면 어떻게해야할지 모르겠다. 아래를 참조
@org_id as int,
@deleted as bit = NULL,
@firstname as char = NULL,
@lastname as char = NULL
Select 문은 다음과 같습니다 :
매개 변수는
select user_id, firstname,lastname,firstname +' ' + lastname as fullname, email, phone, is_tech, is_admin,is_cust
from users
where [email protected]_id and is_tech=1 and delete_flag=ISNULL(@deleted,delete_flag)
order by lastname,firstname asc
이름 및 성 PARAMS가 null가 아닌 경우, 대신 문자 예를 들어, "J"이며, 어떻게 나는 delete_flag 절과 비슷한 것을 씁니다. 그리고 firstname은 'J %'와 비슷하지만 null을 사용하지 않는다면?
아이디어가 있으십니까?
당신이 위의 단지 것보다 더 많은이 때 두 부분 주위에 괄호를 넣어 있는지 확인하십시오. –
흠 ... 역시 팸알과 같이 작동하지 않는 것 같습니다. users.org_id = 'at'org_id 및 is_tech = 1 및 delete_flag = ISNULL ('at'deleted, delete_flag) 및 (firstname LIKE 'at'firstname or 'at'firstname이 null 인 경우) .... 나는 SP를 실행하고 작동하는 org_id 만 전달하지만, 예를 들어 통과하면 "D"는 아무 것도 표시되지 않고 "D"로 시작하는 이름을 가진 사용자가 있다는 것을 알고 있습니다. – thegunner
@thegunner 작동하지 않는 것은 무엇입니까? 가능하면 http://sqlfiddle.com에서 테스트 데이터로 쿼리를 표시하십시오. –