我在查询时遇到问题,或者在寻找正确的功能时发生问题。从一年前到现在选择所有记录
谷歌并没有做太多帮助,所以我就问在这里:
我已经充斥着大量行的表,我需要选择所有小于一岁,直到行现在。
该表(称为orders
)的DateTime
列的名称为order_date
,这是确定何时放置订单的字段。
因此:如何从现在到全年前选择所有具有order_date
的记录?
我在查询时遇到问题,或者在寻找正确的功能时发生问题。从一年前到现在选择所有记录
谷歌并没有做太多帮助,所以我就问在这里:
我已经充斥着大量行的表,我需要选择所有小于一岁,直到行现在。
该表(称为orders
)的DateTime
列的名称为order_date
,这是确定何时放置订单的字段。
因此:如何从现在到全年前选择所有具有order_date
的记录?
select *
from orders
where order_date >= DATE_SUB(NOW(),INTERVAL 1 YEAR);
我认为curdate()也可以在NOW()中使用 – Dotnet 2011-02-17 10:33:28
@Dotnet,你好Dotdot,你知道order_date是什么数据类型?它也可以是DATE TIME Field,所以为什么冒险?尽管您将其数据类型更改为DATE TIME,但您不必修改代码。得到? – 2015-04-20 07:31:10
我希望它可以帮助你:
select *
from table
where (order_date BETWEEN '2/15/2011 3:36:18 PM' AND '2/17/2011 9:00:00 PM')
SELECT * FROM order WHERE order_date >= curdate() - interval 1 year;
要正月一年前
SELECT DATE_SUB(DATE_FORMAT(CURRENT_DATE,'%Y-%m-01'),INTERVAL 1 YEAR);
你尝试google搜索 “SQL BETWEEN”?因为不知道SQL基础的人有很多资源。 – dctucker 2014-04-17 17:21:00