获取过去日期的所有事件



我有一个mysql数据库,其中有一个表"事件";。我用获取所有数据

SELECT * FROM `events`

有一列";"开始";具有此值的(示例(

20210501T180000

定义:

YYYYMMDDTHHIISS

现在我想得到所有数据;"开始";而今天是<0天。

例如:

start = 20211005T180000
today = 20211006T100000
=>  -1 day difference

时间不应该是一个因素。

今天是6月10日。。。

DROP TABLE IF EXISTS my_bad_data;
CREATE TABLE my_bad_data
(bad_date CHAR(15));
INSERT INTO my_bad_data VALUES
('20210501T180000'),
('20210610T180000');
SELECT * 
FROM my_bad_data 
WHERE DATE(STR_TO_DATE(bad_date,'%Y%d%mT%H%i%s')) < CURDATE();
+-----------------+
| bad_date        |
+-----------------+
| 20210501T180000 |
+-----------------+

正如OJ提到的,如果你能修复你的模式,你就应该这样做

最新更新