如何根据时间戳从数据库中获取数据

时间:2014-09-24 12:42:08

标签: mysql sql

我有products表,其中包含所有正在销售或准备出售的产品。

这是表格架构

CREATE TABLE `products` (
  `Product_Name` varchar(255) DEFAULT NULL,
  `Product_Status` int(11) DEFAULT NULL,
  `Sell_date` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

SET FOREIGN_KEY_CHECKS = 1;

每次销售产品时,其状态均为1

我试图在昨天销售所有产品。如何在sql查询中执行此操作。

Select Product_Name from products where status = 1 and Sell_date = ??

我的问题是如何在N中返回一整天或timestamp天。

2 个答案:

答案 0 :(得分:1)

对于最后几天以$ N出售的产品:

SELECT
   Product_Name 
FROM products 
   WHERE status = 1 
   AND TIMESTAMPDIFF(DAY, `Sell_date`, NOW()) <= $N

答案 1 :(得分:0)

SELECT Product_Name
FROM products WHERE status = 1 and Sell_date = DATE_SUB( Sell_date, INTERVAL 1 DAY )

DATE_SUB函数用于从给定日期减去特定时间间隔我认为这对你有帮助。