테스트 사이트 - 개발 중인 베타 버전입니다

SQL WHERE 절 질문입니다. 채택완료

바트컨트롤 7년 전 조회 3,369

제가 특정 SQL만 안받으려고

 

WHERE wr_3 !='가나다' and wr_3 !='010' and wr_3 !='업다운'

 

이부분을 

 

조금 쉽게 wr_3 != '가나다','010''업다운' 이런식으로 바꿀수 있을까요?

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
예원살앙

WHERE wr_3 NOT IN ('가나다','업다운') 일캐 하심 되겠네요.

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

해피정
7년 전

이런결과만 보고 싶다는거 아닌가요?

가나다 , 010 , 업다운 글자가 하나라도 들어가면 안된다....는 의미로 이해가 되는데...

if (!( wr_3 =='가나다' || wr_3 =='010' || wr_3 =='업다운')) {

....

}

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

식쏭
7년 전

sql 문으로 not in('aaa','bbb','ccc') 같이 쓰시면 되지만, 
굳이 조회자체를 안하려는 문자열을 not in 검색을 하여 DB를 일을 시키는거보다는

php 에서 먼저 해당 문자열이 있으면 sql 자체를 실행 안하시는게 좋지 않을까요?

 

if( $wr_3 != "aaa" && $wr_3 != "bbb" && $wr_3 != "ccc" ) {

 //이때만 쿼리 실행

}

혹은

$arr = array('aaa','bbb','ccc'); // 거부할 문자열 배열 선언
if( in_array( $wr_3 , $arr ) ) {
// 이때만 쿼리 실행

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

P
7년 전

WHERE wr_3 NOT REGEXP '^가나다$|^010$|^업다운^'

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인