2012-02-27 2 views
0

필드 (plate)의 값이 ABC123, ABB-123 등과 같은 데이터베이스가 있습니다. 일부 사용자는 -를 입력하고 일부는 입력하지 않습니다.필드 값의 글자와 숫자 만 사용하는 MySQL 검색

사용자가 검색을 수행 할 수있는 검색 기능을 구축하고 있습니다 (예 : 'ABB123'). 검색 기능이 plate LIKE 'ABB123'으로 변환되지만이 검색에서 'ABB-123'이 이 경우.

누군가에게이 문제를 해결하는 방법을 알고 있습니까?

참고 : 데이터베이스는 InnoDB이므로 전체 텍스트 검색이 불가능합니다. 각 사용자마다 자신의 데이터베이스가 있기 때문에 제 3 자 검색 서버를 사용할 계획이 아닙니다.

+0

'plate_normalised'와 같은 두 번째 필드를 사용하려고 생각합니다. 다른 필드 (전화 번호 등)에이 문제가 있기 때문에 필드를 추가하지 않아도됩니다. – Casper

답변

0

두 인스턴스를 모두 검색 할 수 있습니까?

plate = 'ABB123' OR plate = 'ABB-123' 

또는 plate의 형식이 아니라 일치하는 경우

, 당신은 두 인스턴스를 얻을 것

plate LIKE 'ABB%123' 

뭔가를 할 수 있습니다.