获取一天、一周、一月时间数据在MySQL中是常见的需求,在实际开发中,可以使用以下各种SQL语句来实现。
获取一天时间数据
获取某一天所有数据
SELECT * FROM table_name WHERE DATE_FORMAT(datetime_column, '%Y%m%d') = '20211201';
其中,datetime_column
表示存储日期时间的列名,日期格式为2021年12月01日。
获取今天所有数据
SELECT * FROM table_name WHERE DATE_FORMAT(datetime_column, '%Y%m%d') = DATE_FORMAT(NOW(), '%Y%m%d');
其中,NOW()
函数返回当前日期时间,DATE_FORMAT()
函数格式化日期时间。
获取一周时间数据
获取本周所有数据
SELECT * FROM table_name WHERE YEARWEEK(date_column, 1) = YEARWEEK(NOW(), 1);
其中,date_column
表示要查询的日期时间列,YEARWEEK()
函数返回年周数,第二个参数1表示周一为一周的第一天。
获取上周所有数据
SELECT * FROM table_name WHERE YEARWEEK(date_column, 1) = YEARWEEK(NOW(), 1) - 1;
其中,-1
表示上一周。
获取一个月时间数据
获取本月所有数据
SELECT * FROM table_name WHERE DATE_FORMAT(date_column, '%Y%m') = DATE_FORMAT(NOW(), '%Y%m');
其中,%Y%m
表示年月格式,DATE_FORMAT()
函数格式化日期时间。
获取上个月所有数据
SELECT * FROM table_name WHERE PERIOD_DIFF(DATE_FORMAT(NOW(), '%Y%m'), DATE_FORMAT(date_column, '%Y%m')) = 1;
其中,%Y%m
表示年月格式,PERIOD_DIFF()
函数返回两个年月之间的月份差。此处用当前月份减去要查询日期时间列的月份,如果结果为1,表示相差一个月。
通过以上SQL语句,我们可以轻松地获取MySQL中的一天、一周、一月时间数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:mysql中获取一天、一周、一月时间数据的各种sql语句写法 - Python技术站