2015-04-12 47 views
0

在我的數據庫中,我以每種格式的客戶訂單的日期爲02 Mar 2015找出哪些月份有數據記錄在MYSQL數據庫中?

我有3月份和4月份的數據,我想要一個只返回2個月的查詢。一旦我有數據,5月,將返回的三個月等

,我想使用的SQL語法是:

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

但是它返回0行。我認爲這是日期格式的問題。

編輯:從表

的樣本數據:

ID |日期|時間| order_id | item |數量
1 | 02三月2015 | 14:22 | 1029 | clasico | 9
1 | 2015年4月5日| 13:58 | 1029 |印度| 10

回答

0

嘗試

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

其中order_dateorders

+0

我試過了,但也有0行被返回。我認爲我遇到的問題是我(愚蠢地)以格式「2015年3月2日」的格式存儲日期,而不是格式爲2015-03-03 02:33:26。任何其他想法? –

+0

日期是一個mysql函數...什麼是表格命令中的日期字段的名稱,請張貼架構和幾個示例行...如果您的日期字段確實是命名日期,然後使用反引號將其像日期一樣加密 – dbinns66

+0

這是'約會',也許是導致衝突? –

0

注日期字段:答案假定日期列是一個varchar,而不是datetime數據類型。

DATE_FORMAT()函數用於以不同格式顯示日期/時間數據。注意:這假定數據是日期時間數據類型。

STR_TO_DATE()以字符串和特定格式字符串作爲參數來返回日期時間值。請參閱SQL Fiddle demo中的以下代碼。

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