where (1) 의미가 뭔지 ?
본문
답변 4
php의 while(1) { } 하고 같다고 보면 됩니다. 항상 true 가 되어 실행되죠
흠.. 제 경험상으로는 뒤의 where절을 if 문으로
뭔가 검색이 있을경우 없을경우...
where절을 비워둘때 많이 사용하곤 합니다.
참고로
Where (1) 은 MySql에서만 유효합니다.
Oracle에서는 관계연산자가 부적합하다고 나옵니다.
다른 DB의 접근에 좀더 유연하게 사용하려면
where ( 1=1)
로 사용하는게 더 좋습니다.
Where (1) 의 방식은
@Rido 님의 의견과 같이
조건에 따라 and 절을 추가할때 유용합니다.
비슷한구문은 GnuBoard 기본엔진에서도 발견할수있습니다.
/bbs/list.php 에서
$sql_search = get_sql_search($sca, $sfl, $stx, $sop);
의 문장에 사용된
get_sql_search() 를 살펴보면
중간에 return 0 이 등장합니다.
비교연산자의
1은
PHP / MySql / JavaScript 등에서 '참(true)'로 사용될수있습니다.
0은 '거짓(false)' 로 인식됩니다.
비교연산자에서 1 / 0 의 값을 이용하여 비교하는 구문을 작성하면
코드의 사이즈나 성능개선에 도움이 될겁니다.
여러분들 덕분에 제 머리가 좋아지고 있어요. 감사합니다. 추석 잘 보내세요.
답변을 작성하시기 전에 로그인 해주세요.