Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [mysql] odwrtoność dla REGEXP (nie pasujące do wzorca)
seeb
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 6.12.2007
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Czy istnieje jakaś odwrotność dla tej komendy (REGEXP) w myslq? Coś w stylu !="cos";


  1. SELECT u.id, u.name AS imie_i_nazwisko, p.Ulica, p.Nr_domu, p.Nr_lokalu, p.Kod_pocztowy, p.Miejscowosc, p.Poczta, p.nr_iban, p.nazwisko_iban, p.adres_iban
  2. FROM jos_users AS u
  3. LEFT JOIN jos_jobsys_pracownicy AS p ON u.id = p.id
  4. WHERE p.id >0
  5. AND p.nr_iban
  6. REGEXP '^PL.{2}1090'
  7. ORDER BY u.id

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

Ostrzeżenie: (0%)
-----


A musi być wyrażenie regularne? Jaka jest struktura tego ciągu? Mamy XXI wiek, są funkcje które utną w mysql string zaokrąglając do słowa. Może da się to zrobić na stringach.
I z tego co pamiętam negować można tylko pojedyńcze znaki albo grupy znaków ujęte w nawiasy [].
I nie ma znaczenia dla wydajności ile rekordów spełnia warunek bo i tak porównane muszą zostać wszystkie. Ma znaczenie, jeśli warunków jest kilka - wtedy zmiana ich kolejności może mieć kolosalne znaczenie.
I jeśli ma być wydajnie i nie jest to jednorazowa operacja to dobrze jest dodać odpowiednią procedurę, która wydzieli nam ten BIC, IBAN czy co tam chcemy do oddzielnego pola które dodamy do indeksu.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 28.12.2025 - 22:19