Как я могу найти значение метки времени в таблице на основе предоставленной даты - PullRequest
0 голосов
/ 05 марта 2012

У меня есть база данных, где поля date_added являются метками времени. Я хочу сделать запрос и выбрать несколько продуктов, которые были добавлены в определенный день. Скажем так: tbl_products: id INT name VARCHAR date_added TIMESTAMP

Запрос: SELECT * FROM tbl_products WHERE date_added = ? где? это параметр, который я посылаю. Я могу отправить его как дату или как отметку времени.

Матчи должны быть через несколько дней. Я имею в виду, что мне нужно найти продукты, добавленные в определенный день.

редактировать: я использую базу данных оракула

1 Ответ

2 голосов
/ 05 марта 2012

У вас есть два варианта ...

Эффективный способ (будет использовать индекс, если он существует в столбце date_added):

SELECT * FROM tbl_products
WHERE date_added between ? and ?

Укажите временные метки на основе даты в 00:00:00 и 23:59:59 для параметров запроса

Как и выше, это может работать для вас:

SELECT * FROM tbl_products
WHERE date_added between ? + interval '0' second and ? + interval '86399' second

Предоставление даты дважды.


Простой (но неэффективный - не будет использовать индекс) способ:

SELECT * FROM tbl_products WHERE date(date_added) = ?

Введите дату в качестве параметра

...