根据日期范围过滤列
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()
【讨论】:
以上是关于根据日期范围过滤列的主要内容,如果未能解决你的问题,请参考以下文章