根据日期范围过滤列

Posted

技术标签:

【中文标题】根据日期范围过滤列【英文标题】:filter column based on date range 【发布时间】:2016-11-25 05:59:46 【问题描述】:

我需要按日期范围过滤包含时间和日期的列。 我只想看看从今天开始一个月记录的值。(从2016-06-21到2016-07-21) Column 中的日期格式为 YYYY-mm-dd HH:mm:ss 该列中的一些数据如下所示:

2016-07-01 13:38:04
2016-07-01 12:52:41
2016-07-01 12:52:41
2015-05-30 13:04:42
2015-05-30 13:04:42
2016-06-29 10:23:39
2016-06-29 10:23:39
2016-06-29 09:49:43
2015-05-29 09:49:20
2015-05-28 15:05:11
2016-05-28 15:04:46
2016-06-28 15:00:43
2016-05-30 11:33:42
2016-05-30 11:30:53
2015-05-02 09:54:34

【问题讨论】:

请添加您在问题中所指的一些表格行。这样有助于更好地理解需求。 【参考方案1】:

你可以这样做:

select t.*
from t
where col >= date_sub(curdate(), interval 1 month);

无论您的列是存储为字符串还是datetime,这都应该有效,因为格式很容易转换为datetime。但是,您应该对日期和时间使用本机类型,而不是字符串。

【讨论】:

date_sub 是 SQL 2014 的内置函数吗? @UTTARA 。 . .不,它是 mysql 中的一个函数,用于标记问题。【参考方案2】:

这里有一些你可以使用的:-

SELECT * 
 FROM drange_table 
 Where date_range_column between DATE_SUB(curdate(), interval 1 month) and curdate()

【讨论】:

以上是关于根据日期范围过滤列的主要内容,如果未能解决你的问题,请参考以下文章

根据日期范围过滤火花数据框[重复]

Python pandas根据日期范围按升序过滤数据

根据日期列熊猫过滤数据框

根据日期范围过滤日志文件条目

在 GridMvc 中有日期范围过滤器

根据可能位于特定列中任何位置的日期过滤文件