[英]How to get data between a date range in php mysql
我有個問題。 我在varchar(10)
formate中使用了date
列,並將date
存儲為23-May-2015
格式。
現在,我想獲取日期23-May-2015
和02-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.