2013-07-12 3 views
1

id 열이 특별한 값이 아닌 테이블에서 모든 것을 선택하고 싶습니다. 그러나 특정 값을 선택적으로 가질 수 있으며이 경우 모든 결과를 반환합니다.pgSQL : 모든 결과를 반환하지만 결과가 하나도 아님

case은 내가 원하는 것일 수도 있지만 나에게는 적합하지 않습니다. 내가

WHERE id (SELECT CASE WHEN $id IS NULL THEN '') 
          ^^ $id could be, say, 10 or NULL 

WHERE id != '' 

또는

을 시도한 것은 단지 잘못된 구문입니다. 어떻게이 쿼리를 만들 수 있습니까? 감사합니다. 당신이 어떤 ID를하려는 경우

+0

어떤 조건에서 당신은'id'의 특정 값을 표시 하시겠습니까? –

답변

1

같은 시도 $id을 비어 있거나 null로 설정하십시오. 그렇지 않으면 실제 ID를 전달하십시오.

where (id = $id or $id = '') 

널 (null)을 사용하여 : 그것을 빈 방법을 수행

where (id = $id or $id is null) 
1

다음 통과 그것은 id != v_id 경우 v_idv_id가 null의 경우

또는 모든 행을 반환 null이 아닌 모든 행을 반환합니다

WHERE (id != v_id OR v_id IS NULL) 

:

관련 문제