2012-12-14 3 views
1

이 같은 내용으로 MySQL의 테이블 : MySQL을

id mask 
1 abcd 
2 vdskfw 
... 
212421 dijhaihwfaw 

내가 예를 들어, 입력 문자열을, ABCD efghijkl, 그리고 그것이 어떤 경기로 시작하는 경우 나, 확인해야 테이블에서. 그래서

SELECT * FROM table WHERE mask = 'abcdefghijk'; 
SELECT * FROM table WHERE mask = 'abcdefghij'; 
SELECT * FROM table WHERE mask = 'abcdefghi'; 

... 그리고 :

SELECT * FROM table WHERE mask = 'abcdefghijkl'; 

경우 일치 : 여러 개의 쿼리와 함께 할 수 있습니다.

하지만이 문제를 해결할 더 좋은 방법이 있을까요?

+0

사용'LIKE' 필요 정규식 – Kin

+0

경우 어떻게해야합니까? mysql 콘텐츠가 haystack이고 들어오는 문자열이 needle 인 경우 LIKE를 사용할 수 있습니다. 하지만 그 반대입니다. –

답변

1

귀하가 요청한 사항 중 하나를 수행 할 것입니다.

SELECT * FROM table 
WHERE locate(mask, 'abcdefghijkl') = 1; 

또는

SELECT * FROM table 
WHERE 'abcdefghijkl' rlike concat('^', mask) 

또는

SELECT * FROM table 
WHERE 'abcdefghijkl' like concat(mask, '%') 

DEMO