簡體   English   中英

如何在PHP MySQL中的日期范圍之間獲取數據

[英]How to get data between a date range in php mysql

我有個問題。 我在varchar(10) formate中使用了date列,並將date存儲為23-May-2015格式。

現在,我想獲取日期23-May-201502-June-2015之間的所有行。

如何獲取兩個日期之間的所有行。

我嘗試使用此查詢

SELECT `custid`
FROM `milkdet`
WHERE `date`>='.$stdate.' AND `date`<='.$enddate.'
GROUP BY `custid`
ORDER BY `date`

但它不起作用。

PS:我這樣做只是為了了解這件事是怎么可能的。

varchar()日期是邪惡的,您應該使用mysql本機數據類型存儲日期。

在您的情況下,您首先需要使用str_to_date函數將日期轉換為實際日期,

mysql> select str_to_date('23-May-2015','%d-%M-%Y') as d ;
+------------+
| d          |
+------------+
| 2015-05-23 |
+------------+

現在在查詢中

select `custid`
from `milkdet` 
where str_to_date(`date`, '%d-%M-%Y') >= str_to_date('$stdate','%d-%M-%Y')
AND str_to_date(`date`, '%d-%M-%Y') <=str_to_date('$enddate','%d-%M-%Y')
group by `custid` 
order by `date`
SELECT * FROM `milkdet` WHERE `date` >= '2015-05-23 00:00:00' AND `date` <= '2015-06-02 00:00:00'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM