![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 23.04.2003 Skąd: Mysłowice Ostrzeżenie: (0%) ![]() ![]() |
Mam problem
![]() - wyrazenie z trzema przecinkami (licząc od poczatku wyrażenia) - przypominam ze przecinek to znak rozdzielajacy - czyli na przykład "alamakota,akot,maaids,lalala" natomiast nie pobierze alamakota,akot,maaids,lalala,tralala Przecinek nigdy nie występuje na początku ani na końcu wyrażenia. I jeszcze jedno: podaję pierwszy człon wyrażenia i chcę znaleźć rekordy które zawierają ten człon oraz na przykład jeszcze jeden przecinek i ciąg znaków do następnego przecinka. Czyli: $człon="alamakota"; ma znaleźć alamakota,ipsa natomiast alamakota,ipsa,ipapuzkinierozlaczki odpada. Oczywiście czytałem dokumentację MySQL tylko że nie potrafię tego zastosować w praktyce. Pomoże również przykład użyca jakiegokolwiek wyrażenia regularnego w SQL, jeżeli moje żądania są zbyt wygórowane ![]() Coś takiego: Kod like '".$pierwszyczlon."__' odpada.
Chodzi mi o kod w SQL'u, w php potrafię sobie z tym poradzić, ale takie rozwiązanie niebałdzo mi się podoba. Dla leniwych, w manualu dodatek "G MySQL Regular Expressions" |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 17.09.2003 Skąd: warszawa Ostrzeżenie: (0%) ![]() ![]() |
nie wiem jak jest w mysql'u ale w sybasie jest cos takiego jak substring. Słuzy to do wyciągania kawałka stringu z jego srodka, ale moim zdaniem obsłużenie wielu przecinków bedzie problematyczne. Chyba najprościej bedzie pobrac cale pole i przetworzyc juz w kodzie aplikacji - a tak swoją drogą to należy postawic pytanie czy wogole to da sie zrobic?
![]() -------------------- Pozdrawiam
Coolesh |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 23.04.2003 Skąd: Mysłowice Ostrzeżenie: (0%) ![]() ![]() |
Wiem że to się da zrobić, służy do tego REGEXP.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 23.04.2003 Skąd: Mysłowice Ostrzeżenie: (0%) ![]() ![]() |
Hehe, uradziłem! Sory za zaśmiecanie forum, ale może się komuś kiedyś przyda:
[sql:1:a47d82413f]select "cokolwiek,cokolwiek,cokolwiek" REGEXP "^[[:alnum:]]+,[[:alnum:]]+,[[:alnum:]]+$"; //wynik 1 select "cokolwiek,cokolwiek,cokolwiek,cokolwiekinnego" REGEXP "^[[:alnum:]]+,[[:alnum:]]+,[[:alnum:]]+$"; //wynik 0[/sql:1:a47d82413f] Jakby ktoś to przeanalizował i sprawdził czy ok, byłoby miło ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 680 Pomógł: 0 Dołączył: 1.10.2002 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Cytat [...] Dla leniwych, w manualu dodatek "G MySQL Regular Expressions"
8O Cytat Wiem że to się da zrobić, służy do tego REGEXP.
No to do roboty :? -------------------- "Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 52 Pomógł: 0 Dołączył: 23.04.2003 Skąd: Mysłowice Ostrzeżenie: (0%) ![]() ![]() |
Co się dziwisz z tym manualem? Po prostu nie umiałem tego rozszyfrować :oops:
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 13:17 |