@freelion93

Как составить SQL LIKE запрос для выборки до символа слэша?

Пытаюсь сделать запрос на выборку файлов для заданой директории вида files/директория/под_директория

Соответственно если делаю запрос на корневую папку files/ то нужно все до что есть до следующего слэша например:
  • files/styles.css
  • files/index.php
  • files/js
  • files/src


Если пишу выражение:
SELECT * FROM files WHERE path LIKE 'files/%';

то получаю помимовышеназванных и внутренние файлы из папок тоже:
  • files/src/ajaxcontr.php
  • files/src/dbcontr.php
  • files/js/diagram.js
  • files/js/manage.js


Как получить только те что включают что угодно но до следующего слэша
если запрашиваю корень то files/все что угодно тут
или если запрашиваю саб директорию, то files/директория/все что угодно тут
  • Вопрос задан
  • 183 просмотра
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
WHERE `path` REGEXP '^files/[^/]*$'
Ответ написан
Комментировать
@freelion93 Автор вопроса
нашел как правильно применить NOT LIKE
SELECT * FROM files WHERE path LIKE 'files/%' AND path NOT LIKE 'files/%/%';
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы