Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zapytanie
Forum PHP.pl > Forum > Bazy danych > Oracle
pacior
Jeśli mamy tabele z polem text i chcemy wybrać wszystkie rekordy w których jest słowo np. ala

ala ma kota - ok
alan ma kota - źle
ma kota alan - źle
Piniek
wyrazenia regularne ;] manual manual manual www.php.net
pacior
mnie interesuje rozwiązanie po stronie bazy danych a nie po stronie serwera
fredipop
Musisz skorzystać z LIKE
SELECT .............. WHERE tekst LIKE '%ala%';
AxZx
Cytat
mnie interesuje rozwiązanie po stronie bazy danych a nie po stronie serwera

czyli po stronie serwera baz danych:)
serwer to usluga - silnik bazy danych to tez usluga.

Cytat
Musisz skorzystać z LIKE

no wlasnie nie z like bo wtedy tez znajdzie - a autor nie chce zeby znalazl.

rozwiazaniem moze byc wyszukiwanie full-search
http://dev.mysql.com/doc/refman/5.0/en/ful...-expansion.html

musisz zalozyc index full-text na kolumne w ktorej chcesz szukac no i uzyc odpowiednich opisanych w manualu funkcji
lusaczek
A może by zamiast 'like':

  1. ... WHERE REGEXP_LIKE(NAZWA_KOLUMNY, 'szukany string')


..tylko że ta funkcja dopiero pojawiła się w 10gR2 a ty nie mówisz której wersji używasz. Więcej o REGEXP masz tutaj:

http://www.sqlsnippets.com/en/topic-11741.html

Bo w tym zapisie nie można np stosować % tutaj wystarczy w tym przypadku samo 'ala'... polecam lekturę z linka powyżej smile.gif
pacior
dzięki właśnie mam tą wersje
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.