- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Google заблокировал более 170 млн фальшивых отзывов на Картах
Это на 45% больше, чем в 2022 году
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Есть в таблице поля даты date1 и date2
ЗАписи (id, date1, date2):
1, 2014-04-05, 2014-04-07
2, 2014-04-10, 2014-04-12
Пользователь вводит в фильтре диапазон дат(например '2014-04-05' и '2014-04-11') и получаем запрос:
SELECT * FROM table where date1>='2014-04-05' and date2<='2014-04-11'
Подскажите каким должен быть запрос чтобы если он введет даты 2014-04-01 и 2014-04-21 чтобы в результатах ему показали записи с указаными выше диапазонами
date1 > '2014-04-05' and date2 < '2014-04-11'
Может Вы меня немного недопоняли. Есть записи:
1, 2014-04-05, 2014-04-07
2, 2014-04-10, 2014-04-12
Нужно сделать так чтобы при указании диапазона " с 2014-04-01 до 2014-04-21" мне выбрало эти записи. Если использовать date1 > '2014-04-05' and date2 < '2014-04-11' или больше(меньше) равно такой запрос мне не выведет нужного результата
У вас два разных столбца, какой тут диапазон?
date1 > '%first date%' AND date1 < '%last date%'
date1 BETWEEN '%first date%' AND '%last date%'
(date1 > '2014-04-05' AND date2 > '2014-04-05') AND (date1 < '2014-04-11' AND date2 < '2014-04-11')
оператор "and" подразумевает выполнени обоих условий, поэтому не выводит нужное. Попробуйте "or"
А вообще мануалы посмотрите
если это "начало-конец" то вроде можно и так
date1 > 2014-04-06 AND date2 < 2014-04-07 AND date1 < date2
siv1987, а можно поинтересоваться, какой тайный смысл в условии AND date1 < date2 ??? При условии, что date1 - начало, date2 - конец некой операции. Оно просто лишнее.
luckydan, Вы так поставили ТЗ, что никто ничего не понял. Попробую я угадать. В Вашем запросе поменяйте and на or
SELECT * FROM table where date1>='2014-04-05' or date2<='2014-04-11'
При условии, что date1 - начало, date2 - конец некой операции. Оно просто лишнее.
Да, в данном случае оно лишнее.