2010-05-24 1 views
4

나는 현재이 같은 쿼리를 실행 해요 :MySQL에서 IN과 LIKE를 결합하는 방법이 있습니까?

SELECT * 
    FROM email 
WHERE email_address LIKE '[email protected]%' 
    OR email_address LIKE '[email protected]%' 
    OR email_address LIKE '[email protected]%' 

OR 년대의 많은 수의 날 귀찮게. IN 운영자에 가깝다 뭔가이를 응축 할 수있는 방법이 있나요 예컨대 :

SELECT * 
    FROM email 
WHERE email_address LIKE ('[email protected]%', '[email protected]%', '[email protected]%') 

또는이 단지 희망 사항인가?

+3

예 있습니다. http://stackoverflow.com/questions/1127088/mysql-like-in –

답변

6

은 여기 추천 무슨 다음 @ 전에 이메일 주소의 일부를 추출하고 IN 전에 것을 사용

SELECT * FROM `email` 
WHERE LEFT(`email_address`, LOCATE('@', `email_address`) - 1) 
     IN ('ajones', 'bsmith', 'cjohnson') 
+0

+1 : 잘 했어. –