mysql按日期范围查数据

2021-10-07 From 程序之心 By 程序之心

今天:SELECT * FROM 表名 WHERE TO_DAYS( 时间字段名) = TO_DAYS(NOW());

昨天:SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1;

7天前:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名);

30天:SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= date(时间字段名);

本月:SELECT * FROM 表名 WHERE DATE_FORMAT( 时间字段名, '%Y%m' ) = DATE_FORMAT( CURDATE( ) , '%Y%m' );


TO_DAYS 函数

给定一个日期date,返回一个日期号码(自0年以来的天数)。不适用于公历日历(1582)出现之前的值(未考虑日历更改时丢失的日期)。

注意:MySQL将日期中的两位数年份值转换为四位数形式 。例如, '2017-10-09'、 '17-10-09'和‘171009’被看作是相同的日期:


DATE_ADD 函数

向日期添加指定的时间间隔。
语法 DATE_ADD(date,INTERVAL expr type)

如加上 30 天,DATE_ADD(OrderDate,INTERVAL 30 DAY)


DATE_SUB 函数

从日期减去指定的时间间隔。

语法 DATE_SUB(date,INTERVAL expr type)

如减去 30 天,DATE_SUB(OrderDate,INTERVAL 30 DAY)


DATE_FORMAT

用于以不同的格式显示日期/时间数据。

语法 DATE_FORMAT(date,format)
如显示日月年,DATE_FORMAT(NOW(),'%m-%d-%Y') p>

本文来源:程序之心,转载请注明出处!

本文地址:https://chengxuzhixin.com/blog/article/300297.html

发表感想

© 2016 - 2022 chengxuzhixin.com All Rights Reserved.

浙ICP备2021034854号-1    浙公网安备 33011002016107号