2013-09-28 10 views
5

mam to wich baza danych zawiera kody produktu podobnegoSzukaj ciąg mysql db, które mogą mieć spacji, bądź w inny ciąg itp

EXA 075 11112 
0423654 
3 574 662 123 
JOLA 22354 5 
LUCS 2245 785 

używam frazę% LIKE% do listy produktów mathing ciąg weszła przez użytkownika, na przykład „22” będzie notować

JOLA 22354 5 
LUCS 2245 785 

problemem jest to, że użytkownik nie musi znać format kodu, więc typy IT w 07511112, a wyjście jest zero, ponieważ „EXA 075 11112” nie jest dopasowany przez% LIKE%.

Czy istnieje sposób skonstruowania zapytania, aby wyrównać wszystkie spacje z pola produktu przed rozpoczęciem wyszukiwania, a następnie wyszukać za pomocą ciągu również trymowane spacji, używając% LIKE%? Sądzę, że powinien dopasować wszystkie wpisy. A może jest inny sposób? Nie mogę uruchomić zastąpienia "", "" w kolumnie, kody muszą pozostać tak, jak są teraz.

+1

Chciałbym dodać kolumnę bez spacji, tylko dla funkcji wyszukiwania. – GolfWolf

+0

Co powiedział @ w0lf. I prawdopodobnie zajrzyj do FULLTEXT, aby obsłużyć takie wyszukiwania – leon

Odpowiedz

3

Można użyć zastąpić funkcję

select * 
from mytable 
where REPLACE(`productcode` , ' ' , '') like '%searchparam%' 
Powiązane problemy