找出哪些月份的数据记录在MYSQL数据库中?

时间:2015-04-12 19:47:52

标签: php mysql

在我的数据库中,我以02 Mar 2015

格式存储每个客户订单的日期

我有3月和4月的数据,我想要一个只返回2个月的查询。一旦我有5月的数据,它将返回三个月等。

我尝试使用的SQL语法是:

SELECT DISTINCT MONTH(DATE_FORMAT(date,'%d %b %y')) FROM orders

但是这会返回0行。我认为这是日期格式的问题。

编辑:

表中的示例数据:

id |日期|时间| order_id |项目|数量
1 | 2015年3月2日| 14:22 | 1029 | clasico | 9
1 | 2015年4月5日| 13:58 | 1029 |印度教10

2 个答案:

答案 0 :(得分:0)

SELECT DISTINCT MONTH(`order_date`) FROM `orders`

其中order_dateorders

中的日期字段

答案 1 :(得分:0)

注意:答案假定日期列是varchar而不是datetime数据类型。

DATE_FORMAT()功能用于以不同格式显示日期/时间数据。注意:这假定数据是日期时间数据类型。

STR_TO_DATE()通过将字符串和特定格式字符串作为参数来返回日期时间值。请参阅SQL Fiddle demo中的以下代码。

select DISTINCT MONTH(STR_TO_DATE(date, '%d %b %y')) from orders