0


Mysql时间查询 昨天、今天、上月、本月...

本文为 【MySQl】 关于时间的查询

📌博主主页:一个肥鲇鱼

👉策略模式之Map+函数式接口:策略模式之Map+函数式接口

👉感受 Lambda 之美:体验一下Lambda之美吧,优雅编程

👉Bean转换工具:Mapstruct使用教程


查询最近一分钟的所有记录

SELECT * FROM table_name WHERE date_column >= DATE_SUB(NOW(), INTERVAL 1 MINUTE);

查询最近一小时的所有记录

SELECT * FROM table_name WHERE date_column >= DATE_SUB(NOW(), INTERVAL 1 HOUR);

解释:DATE_SUB函数是MySQL中的一个日期函数,用于在指定的日期上减去一定的时间间隔,返回计算后的日期。

其语法为:DATE_SUB(date, INTERVAL value unit),其中date表示要进行计算的日期,value表示要减去的时间间隔,unit表示时间间隔的单位(如YEAR、MONTH、DAY、HOUR、MINUTE、SECOND等)。

查询昨天的SQL

SELECT * FROM table_name WHERE DATE(date_column) = DATE_SUB(CURDATE(), INTERVAL 1 DAY);

解释:这条SQL语句使用了DATE_SUB函数,它用于从当前日期中减去指定的时间间隔。在这个例子中,我们使用了INTERVAL 1 DAY,这意味着我们要从当前日期中减去1天,以查询昨天的数据。DATE函数用于将日期列的时间戳截断为日期部分,以便与DATE_SUB函数返回的日期部分进行比较。

查询今天的SQL

SELECT * FROM table_name WHERE DATE(date_column) = CURDATE();

解释:这条SQL语句使用CURDATE函数,它返回当前日期。我们使用它来查询今天的数据。DATE函数用于将日期列的时间戳截断为日期部分,以便与CURDATE函数返回的日期部分进行比较。

查询上个月的SQL

SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y-%m') = DATE_FORMAT(DATE_SUB(NOW(), INTERVAL 1 MONTH), '%Y-%m');

解释:这条SQL语句使用了DATE_FORMAT函数,它用于将日期列的时间戳格式化为指定的日期格式。在这个例子中,我们使用了'%Y-%m'格式,它将日期格式化为年份和月份。我们使用了DATE_SUB函数来减去1个月的时间间隔,然后将其格式化为'%Y-%m',以便与日期列的格式进行比较。

查询本月的SQL

SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y-%m') = DATE_FORMAT(NOW(), '%Y-%m');

解释:这条SQL语句与上个月的SQL非常相似,但是我们没有使用DATE_SUB函数来减去时间间隔,而是直接使用NOW函数获取当前日期。我们将当前日期格式化为'%Y-%m',以便与日期列的格式进行比较。

查询上年的SQL

SELECT * FROM table_name WHERE YEAR(date_column) = YEAR(DATE_SUB(NOW(), INTERVAL 1 YEAR));

解释:这条SQL语句使用了YEAR函数,它从日期列的时间戳中提取年份。我们使用DATE_SUB函数来减去1年的时间间隔,然后使用YEAR函数从结果中提取年份。我们将这个年份与日期列的年份进行比较,以查询上年的数据。

查询今年的SQL

SELECT * FROM table_name WHERE YEAR(date_column) = YEAR(NOW());

解释:这条SQL语句与上年的SQL非常相似,但是我们没有使用DATE_SUB函数来减去时间间隔,而是直接使用NOW函数获取当前日期的年份。我们将这个年份与日期列的年份进行比较,以查询今年的数据。

标签: mysql sql 数据库

本文转载自: https://blog.csdn.net/weixin_47324958/article/details/129951365
版权归原作者 一个肥鲶鱼 所有, 如有侵权,请联系我们删除。

“Mysql时间查询 昨天、今天、上月、本月...”的评论:

还没有评论