Такой запрос
SELECT
*
FROM
integration_betapost.`tests_st`
WHERE
add_date = CURDATE()
Который выводит всего две строки, где add_date
равно 2017-06-02 00:00:00
,хотя в таблице есть много значений типа 2017-06-02 14:02:07
Вопрос,почему они не попадают в выборку?
Вам нужно поле add_date
привести к такому же формату YYYY-MM-DD
, можно вот так:
SELECT
*
FROM
integration_betapost.`tests_st`
WHERE
DATE(add_date) = CURDATE()
Записи не попадают в выборку потому, что оператор =
в MySQL требует строгого равенства аргументов, а 2017-06-02 00:00:00
не равно 2017-06-02 14:02:07
. Вы можете искать например все даты-время, которые больше начала текущего дня так:
SELECT * FROM integration_betapost.`tests_st`
WHERE add_date >= CURDATE()
Или например взять записи от начала текущего дня до текущего времени в текущем дне:
SELECT * FROM integration_betapost.`tests_st`
WHERE add_date between CURDATE() and NOW()
Или, например взять строго записи за текущие сутки:
SELECT * FROM integration_betapost.`tests_st`
WHERE add_date >= CURDATE() and add_date < CURDATE()+INTERVAL 1 DAY
Можно конечно явно привести колонку к дате, без времени (date(add_date)=...
), но так делать не рекомендуется, так как в этом случае СУБД не сможет использовать индексы, даже если они есть. Что приведет к полному сканированию таблицы с соответствующей потерей производительности
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Как, в одном запросе, записать выборку по имени оператора из таблицы один, если имя оператора нужно найти во второй таблице по имени клиента
Мне нужно сделать запрос к БД, в котором необходимо выполнить выборку по условиямПричем условий 5, необходимо выполнение хотя бы 4х
Вот есть такой код, не работает последнее условие $query_last, хоте выше, аналогичный код в $query- работает, не пойму в чем проблема