Jak używać REGEXP w MySQL?

Jak używać REGEXP w MySQL?
James Prada
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

select fileformat from kubutek_mindrivermagazine.audioblog_getid3 REGEXP filename = "*2019-12-16 16.57.44.mp3";

Witam. Mam w bazie danych nazwy plikow zapisane razem ze sciezka dostepu. Chcialbym je wylowic za pomoca funkcji regexp. Czy moze mi ktos w tym pomoc? Powyzsza instrukcja wywala errora.

Dziekuje i pozdrawiam.
Kuba

serek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 1506
0

A gdzie masz WHERE? W ogóle źle to używasz, przecież w dokumentacji/tutorialach masz jak byk jak powinno być.

https://www.mysqltutorial.org/mysql-regular-expression-regexp.aspx/

James Prada
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

Mniejsza z tym jak mam...

^\S+2019-12-16 16.57.44.mp3$

Tak mam miec a mi to nie dziala nawet jak wpisuje poprawnie:

Kopiuj
select fileformat from kubutek_mindrivermagazine.audioblog_getid3 where filename REGEXP "^\S+2019-12-16 16.57.44.mp3$";

Co robie zle?

James Prada
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

Moze sfofmuuje pytanie w prostrzy sposob. Jakim regexpem mam odkryc taki string.

askdfjaskdjfh3242342rsdfsdfas_dupa

jak dana mam tylko "dupa"

^\S+dupa$

???

James Prada
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 65
0

Mam co takiego...

Kopiuj
SELECT fileformat FROM kubutek_mindrivermagazine.audioblog_getid3 WHERE filename REGEXP "^\S+2019-12-16 16.57.44.mp3$";

...i dlaczego to nie dziala?

jurek1980
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 3581
1

Co to znaczy nie działa? Podawaj może bardziej szczegółowe informacje. Nie zwraca wierszy które byś chciał? Wywala jakiś błąd?
Wygląda na to, że po pierwsze używasz podwójnego cudzysłowu a nie pojedynczego, dla wpisania wyrażenia. Po drugie zwróć uwagę, na symbol kropki. W wyrażeniach regularnych to słowo kluczowe, a u Ciebie chyba to nie jest zamierzone.
Wygląda na to, że w tym przypadku wystarczy zwykły like.
Zobacz tu:
http://sqlfiddle.com/#!9/f575df/20

Kopiuj
SELECT fileformat FROM audioblog_getid3
WHERE filename REGEXP '^\S+2019-12-16 16.57.44.mp3$';

Select fileformat FROM audioblog_getid3
WHERE filename like '%2019-12-16 16.57.44.mp3';

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.