Skocz do zawartości

Regexp w SQLite


DUCATI

Rekomendowane odpowiedzi

Mam taki problem. Jest sobie baza SQLite zawierająca rożne dane m.in tagi. Tagi są najczęściej w formacie tag1, tag2, tag3

Poniższy warunek pozwala na wyszukanie wpisów z tymi samymi tagami np. baza (na MySQL działa dobrze czyli wybiera tylko wpisy z tag'iem baza)

WHERE (tags LIKE \'%'.$tag.'%\' AND tags REGEXP \'[[:<:]]'.$tag.'[[:>:]]\')

Na SQLite niestety nie chce działać REGEXP, a jego usunięcie skutkuje wybieraniem wpisów dla tag'u baza zarówno oznaczonych baza jak i bazarek co jest błędne.

Będę wdzięczny za wszelkie sugestie rozwiązania problemu.

Odnośnik do komentarza
Udostępnij na innych stronach

Na SQLite niestety nie chce działać REGEXP, a jego usunięcie skutkuje wybieraniem wpisów dla tag'u baza zarówno oznaczonych baza jak i bazarek co jest błędne.
I prawidłowo, bo taką masz regułę w LIKE \'%'.$tag.'%\'

jeśli ma wybierać tylko baza sprawdz tak

WHERE(tags LIKE \''.$tag.'\'

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Przeczytać i zrozumieć

https://www.sqlite.org/lang_expr.html

Czyli da się ale trzeba posłużyć sie UDF (funkcjami zdefiniowanymi przez użytkownika)

Przykład jak to sie robi w php

https://pl2.php.net/manual/en/function.pdo-...atefunction.php

lub

https://us3.php.net/manual/en/function.sqli...te-function.php

choc php to nie jest najlepszy przykład jezeli chodzi o wydajność takiego rozwiązania :)

Odnośnik do komentarza
Udostępnij na innych stronach

Dziękuje za odpowiedzi. Sprawdzę i podzielę się wynikami.

@Mion - niestety z LIKE i bez % zwraca zero wyników.

@Maximus Marius - problem jest w

REGEXP \'[[:<:]]'.$tag.'[[:>:]]\'

, a mianowicie nie potrafię znaleźć co dokładnie ma za zadanie robić to wyrażenie. Dotychczas nie spotkałem się z takimi warunkami. Myślę, że właśnie w tym jest największy mój problem.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności