관리 메뉴

SIMPLE & UNIQUE

Oracle WHERE 1=1 본문

oracle

Oracle WHERE 1=1

착한코딩 2017. 4. 11. 17:08

WHERE 1=1

  • 동적으로 변하는 인자 값들을 취하는 SQL 문이 필요할 때 사용

StringBuffer sql = new StringBuffer();


sql.append("\n SELECT * ");

sql.append("\n FROM testTbl ");

sql.append("\n WHERE ");


if( first != null ){

sql.append("\n first = '1' ");

}

  • 위 코드에서 first가 null이면 where 뒤에 코드가 없기 때문에 오류가난다.
  • 아래와 같이 where 1=1을 추가하면 뒤에 나오는 조건들이
    모두 만족하지 않아도 오류 나지 않는다.

StringBuffer sql = new StringBuffer();


sql.append("\n SELECT * ");

sql.append("\n FROM testTbl ");

sql.append("\n WHERE 1=1 ");


if( first != null ){

sql.append("\n AND first = '1' ");

}

if( second != null ){

sql.append("\n AND second = '1' ");

}

Comments