Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > Bazy danych > MySQL
Ziels
Witam!

Mam sobie tabelkę użytkowników w bazie, a w niej min. pole grupy. U przeciętnego użytkownika pole grupy będzie wyglądać jakoś tak:

Kod
23;43;;546;3;1;


Przewiduje że tabelka będzie maiła duużo rekordów, więc zżucanie jej do php raczej w grę nie wchodzi, chciałem napisać zapytanie które wyszuka mi użytkowników z odpowiednimi grupami, próbowałem różnych kombinacji jak np:

  1. SELECT * FROM users WHERE grupa RLIKE '^([0-9])43^([0-9])'
  2. SELECT * FROM users WHERE grupa RLIKE '^([0-9])+43+^([0-9])'
  3. SELECT * FROM users WHERE grupa RLIKE '(^[0-9])43(^[0-9])'
  4. SELECT * FROM users WHERE grupa RLIKE '([^0-9])43([^0-9])'
  5. SELECT * FROM users WHERE grupa RLIKE '([^0-9])+43+([^0-9])'
  6. SELECT * FROM users WHERE grupa RLIKE '^[0-9]+43+^[0-9]'


Jednakże żadne zapytanie z powyższych nie chce działać, a idea jest prosta - wyszukać takie pola, gdzie występuje numerek przed ani po którym nie ma żadnej cyfry - jak takie zapytanie powinno wyglądać...? bo ja już wysiadam
mysz
  1. RLIKE '(^43;)|;43;|(;43$)|(^43$)'
Ziels
dzięki! działa smile.gif)
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.