簡體   English   中英

選擇日期時間范圍之間的數據

[英]Select data between datetime range

我有一個名為lap的表,它包含如下數據:

code | name | details | time_stamp
===================================
1a   | A-wan| Goods   | 01-02-2019 11:08:10
3a   | D-wan| Goods   | 05-02-2019 01:00:40
2a   | B-gud| Foods   | 02-03-2019 05:31:05
1a   | A-cro| Bills   | 02-03-2019 15:30:15
1a   | A-set| Bills   | 03-03-2019 17:24:35
1a   | C-won| Goods   | 03-03-2019 10:21:55
1a   | C-gud| Foods   | 04-03-2019 01:30:06

我使用了dd-mm-yy hh:mm:ss格式

和我的查詢SELECT * FROM lap WHERE time_stamp >= '02-03-2019 00:00:00' AND time_stamp <= '03-03-2019 23:59:59'

結果是

code | name | details | time_stamp
===================================
3a   | D-wan| Goods   | 05-02-2019 01:00:40
2a   | B-gud| Foods   | 02-03-2019 05:31:05
1a   | A-cro| Bills   | 02-03-2019 15:30:15
1a   | A-set| Bills   | 03-03-2019 17:24:35
1a   | C-won| Goods   | 03-03-2019 10:21:55

它包括3a | D-wan| Goods | 05-02-2019 01:00:40的數據3a | D-wan| Goods | 05-02-2019 01:00:40 3a | D-wan| Goods | 05-02-2019 01:00:40我認為這可能是因為0502大,盡管它是不同的月份。 任何人都可以幫助這個?

當我在同一日期更改查詢時,它運行良好SELECT * FROM lap WHERE time_stamp >= '02-03-2019 00:00:00' AND time_stamp < '02-03-2019 23:59:59'

code | name | details | time_stamp
===================================
2a   | B-gud| Foods   | 02-03-2019 05:31:05
1a   | A-cro| Bills   | 02-03-2019 15:30:15

你應該使用date函數然后它會起作用,

SELECT * FROM lap WHERE time_stamp BETWEEN '02-03-2019' AND '03-03-2019';

或者您可以將格式更改為yyyy-mm-dd到您的后端並檢查

SELECT * FROM lap WHERE time_stamp BETWEEN '2019-03-02' AND '2019-03-03';

嘗試

 SELECT * FROM lap WHERE time_stamp BETWEEN DATE_FORMAT('02-03-2019 00:00:00', '%d-%m-%Y %h:%m:%s') AND DATE_FORMAT('03-03-2019 23:59:59', '%d-%m-%Y %h:%m:%s');

對於 mysql 日期時間格式,請參閱下面的鏈接https://dev.mysql.com/doc/refman/8.0/en/datetime.html

如果您以另一種格式傳遞日期,則最好更改格式。

暫無
暫無

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

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