- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Доброго времени суток.
Только начинаю изучать ПХП, поэтому прошу сильно тапками не закидывать.
Задача такая:
Выбрать из таблицы все записи, которые начинаются, допустим, с букв от "a" до "f".
Пытаюсь вывести с помощью запроса
SELECT `поле` FROM `таблица` WHERE `поле` LIKE '[a-f]%';
Не работает и все! Выдает, что нет данных подходящих условию.
Если вывести любую букву из заданного диапазона отдельно
SELECT `поле` FROM `таблица` WHERE `поле` LIKE 'd%';
то все отлично работает.
Нашел рабочее решение по выводу через REGEXP
SELECT `поле` FROM `таблица` WHERE `поле` REGEXP '(^[a-f])';
Но интересует, почему не выводит через LIKE? И есть ли способы еще каким-нибудь образом сделать такую выборку?
LIKE - это простое ставнение строк посимвольно с двумя возможными спецсимволами - % и _. Если нужны более сложные условия - то как вы уже выяснили надо использовать регулярки. https://dev.mysql.com/doc/refman/8.0/en/pattern-matching.html
SELECT `поле` FROM `таблица` WHERE `поле` LIKE 'a%' or `поле` LIKE 'b%' or `поле` LIKE 'c%' or `поле` LIKE 'd%' or `поле` LIKE 'e%' or `поле` LIKE 'f%'
зы я не программист
Не работает и все!
Почему решили что LIKE - это REGEXPR :)
LIKE максимум обозначает "любой" символ в конце и(или) начале через %
есть ли способы еще каким-нибудь образом сделать такую выборку?
https://dev.mysql.com/doc/refman/5.6/en/regexp.html