[SQL] LIKE dla zakresu.

Tworząc stronę www każdy napotka na jakieś trudności. Forumowicze na pewno pomogą!

[SQL] LIKE dla zakresu.

Postprzez Júzek » 2011-01-23, 17:01:45

Witam.
Chciałbym uzyskać pola z tabli gdzie wartość rekordu zaczyna się od dowolnej cyfry.

Zapytanie:
Kod: Zaznacz cały
SELECT * FROM lyrics WHERE lyric_title LIKE '1%'
zwraca prawidłowy wynik dla rekordów zaczynających się od 1.

Zapytanie:
Kod: Zaznacz cały
SELECT * FROM lyrics WHERE lyric_title LIKE '[1-9]%'
zwraca pusty wynik.

Pma nie zwraca błędów składni itd.

Jak mogę uzyskać prawidłowy wynik bez dziewięciu OR'ów ?

Dzięki z góry za pomoc, pozdrawiam, wracam na Google.
Avatar użytkownika
JúzekNone specified
BOSSu
BOSSu
 
Posty: 830
Dołączył(a): 2006-06-23, 15:08:15
Lokalizacja: ols.vectranet.pl
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Postprzez Júzek » 2011-01-23, 17:12:28

Znalazłem:

Kod: Zaznacz cały
SELECT *
FROM `lyrics`
WHERE `lyric_title`
REGEXP '[1-9]'

Avatar użytkownika
JúzekNone specified
BOSSu
BOSSu
 
Posty: 830
Dołączył(a): 2006-06-23, 15:08:15
Lokalizacja: ols.vectranet.pl
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Postprzez BlueMan » 2011-01-23, 21:45:23

Dokładnie - MySQL obsługuje wyrażenia regularne :]

Pewnie bezapelacyjnie wygra wyrażenie regularnie z kilkoma "OR LIKE '2%' OR LIKE '3%'" :)
Dużą masz tą bazę danych? Zrób taki test - ciekawe jaka różnica jest.

Pamiętaj o nałożeniu indeksów!
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Postprzez Júzek » 2011-01-23, 21:56:44

Szkoda tylko, że tak trudno znaleźć metodę (o ile w ogóle istnieje) w Doctrine w stylu ....->regexp('[1-9]')... i musiałem jednak zrobić dziesięć orWhere() :/
Avatar użytkownika
JúzekNone specified
BOSSu
BOSSu
 
Posty: 830
Dołączył(a): 2006-06-23, 15:08:15
Lokalizacja: ols.vectranet.pl
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy


  • Inne

Powrót do Webmasterka

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 57 gości

cron