Jak używać REGEXP w MySQL?

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

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/

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:

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

Co robie zle?

0

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

askdfjaskdjfh3242342rsdfsdfas_dupa

jak dana mam tylko "dupa"

^\S+dupa$

???

0

Mam co takiego...

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

...i dlaczego to nie dziala?

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

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';

1 użytkowników online, w tym zalogowanych: 0, gości: 1