mysql计算某一天所在周或月的第一天和最后一天
2017-03-03 10:07
357 查看
某一天所在周的第一天:
我们知道国外的星期的第一天是从星期天开始的,所以DAYOFWEEK(‘2017-3-10’)函数的第一天是星期天:
SELECT
CASE WHEN DAYNAME(DATE(‘2017-3-10’))=’Sunday’
THEN DATE_SUB(DATE(‘2017-3-10’),INTERVAL 6 DAY)
ELSE DATE_ADD(‘2017-3-10’,INTERVAL -DAYOFWEEK(DATE(‘2017-3-10’))+2 DAY) END
某一天所在周的最后一天:
SELECT CASE WHEN DAYNAME(DATE(‘2017-3-11’))=’Sunday’ THEN DATE(‘2017-3-11’) ELSE DATE_ADD(‘2017-3-11’,INTERVAL 7-DAYOFWEEK(‘2017-3-11’)+1 DAY) END
某一天的所在月的第一天:
SELECT DATE_ADD( DATE_ADD(LAST_DAY(‘2017-03-03’),INTERVAL 1 DAY ),INTERVAL -1 MONTH );
或SELECT DATE_SUB(DATE_ADD(LAST_DAY(‘2017-03-03’),INTERVAL 1 DAY),INTERVAL 1 MONTH)
或SELECT DATE_SUB(LAST_DAY(‘2017-03-03’),INTERVAL TIMESTAMPDIFF(DAY,’2017-03-03’,(DATE_ADD(‘2017-03-03’,INTERVAL 1 MONTH)))-1 DAY)
结果:2017-03-01
某一天所在月的最后一天:
SELECT LAST_DAY(‘2017-03-03’);
结果:2017-03-31
某一天所在月的天数:
SELECT TIMESTAMPDIFF(DAY,’2017-03-03’,(DATE_ADD(‘2017-03-03’,INTERVAL 1 MONTH)));
我们知道国外的星期的第一天是从星期天开始的,所以DAYOFWEEK(‘2017-3-10’)函数的第一天是星期天:
SELECT
CASE WHEN DAYNAME(DATE(‘2017-3-10’))=’Sunday’
THEN DATE_SUB(DATE(‘2017-3-10’),INTERVAL 6 DAY)
ELSE DATE_ADD(‘2017-3-10’,INTERVAL -DAYOFWEEK(DATE(‘2017-3-10’))+2 DAY) END
某一天所在周的最后一天:
SELECT CASE WHEN DAYNAME(DATE(‘2017-3-11’))=’Sunday’ THEN DATE(‘2017-3-11’) ELSE DATE_ADD(‘2017-3-11’,INTERVAL 7-DAYOFWEEK(‘2017-3-11’)+1 DAY) END
某一天的所在月的第一天:
SELECT DATE_ADD( DATE_ADD(LAST_DAY(‘2017-03-03’),INTERVAL 1 DAY ),INTERVAL -1 MONTH );
或SELECT DATE_SUB(DATE_ADD(LAST_DAY(‘2017-03-03’),INTERVAL 1 DAY),INTERVAL 1 MONTH)
或SELECT DATE_SUB(LAST_DAY(‘2017-03-03’),INTERVAL TIMESTAMPDIFF(DAY,’2017-03-03’,(DATE_ADD(‘2017-03-03’,INTERVAL 1 MONTH)))-1 DAY)
结果:2017-03-01
某一天所在月的最后一天:
SELECT LAST_DAY(‘2017-03-03’);
结果:2017-03-31
某一天所在月的天数:
SELECT TIMESTAMPDIFF(DAY,’2017-03-03’,(DATE_ADD(‘2017-03-03’,INTERVAL 1 MONTH)));
相关文章推荐
- java-计算任意日期所在周、月、年的第一天与最后一天
- SQL计算每个月的第一天,最后一天,本月的天数
- mysql中的部分特殊日期的查询(最后一天/第一天)
- php 计算本月第一天 本月最后一天 下个月第一天
- MSSQL 获取指定日期所在星期的第一天和最后一天日期 获取指定日期坐在月的第一天和最后一天
- oracle相关时间计算,得到季度第一天、最后一天
- SqlServer计算每个月的第一天,最后一天,最后一天
- sql 语句(日期所在月的第一天,最后一天)
- javascript日期处理-通过一个字符串的日期得到所在周、上周及下周的第一天和最后一天
- 第一篇博客:获取当前日期所在季度的第一个月的第一天和最后一个月的最后一天
- php 计算本月第一天 本月最后一天 下个月第一天
- mysql 获取上个月,这个月的第一天或最后一天
- 【ORACLE】oracle相关时间计算,得到季度第一天、最后一天
- SQL计算每个月的第一天,最后一天,本月的天数
- mysql查询上个月的第一天和最后一天
- MySQL里获取当前week、month、quarter的第一天/最后一天
- SQL 计算每个月的第一天,最后一天,本月的天数,ORACLE中日期加减
- mysql 获取上个月,这个月的第一天或最后一天
- PHP计算当月第一天和最后一天
- MYSQL中取当前年份的第一天和当前周,月,季度的第一天/最后一天