zoukankan      html  css  js  c++  java
  • mysql常用日期、时间查询

    好记性不如烂笔头

    select curdate();  --获取当前日期
    select last_day(curdate());  --获取本月最后一天。
    select DATE_ADD(curdate(),interval -day(curdate())+1 day);  -- 获取本月第一天
    select date_add(curdate()-day(curdate())+1,interval 1 month);  -- 获取下个月的第一天
    select date_sub(curdate()-day(curdate())+1,interval 1 month);  -- 上个月第一天
    select last_day(date_sub(curdate(),interval 1 month)); -- 上个月最后一天
    select DATEDIFF(date_add(curdate()-day(curdate())+1,interval 1 month ),DATE_ADD(curdate(),interval -day(curdate())+1 day)) from dual; --获取当前月的天数
    select subdate(curdate(),date_format(curdate(),'%w')-1) -- 本周一
    SELECT DATE_SUB(now(),INTERVAL WEEKDAY(now()) day); -- 本周一
    select subdate(curdate(),date_format(curdate(),'%w')-7) -- 本周日
    
    -- 前一秒
    select SUBDATE(now(),interval 1 second);
    -- 前一分钟
    select SUBDATE(now(),interval 1 minute);
    -- 前一个小时
    SELECT date_sub(NOW(), interval 1 hour)
    -- 前一天某个时间点
    SELECT date_sub(DATE_FORMAT(NOW(),'%Y-%m-%d 18:00:00'), interval 1 day)
    -- 前一天
    SELECT date_sub(now(),interval 1 day)
    -- 前一月 后一月
    date_sub(curdate(),interval 1 month) 表示 2013-04-20
    date_sub(curdate(),interval -1 month) 表示 2013-06-20
    -- 前一年 后一年
    date_sub(curdate(),interval 1 year) 表示 2012-05-20
    date_sub(curdate(),interval -1 year) 表示 2014-05-20
    -- 字符串转日期
    select str_to_date('2017-11-20', '%Y-%m-%d %H:%i:%s');
    -- 时间转字符串
    select date_format(now(), '%Y-%m-%d');
    -- 字符串转时间戳
    select unix_timestamp('2016-01-02');
    -- 时间戳转时间
    select from_unixtime(1451997924);
    -- 时间戳转字符串
    select from_unixtime(1451997924,'%Y-%d');
    -- 时间转时间戳
    select unix_timestamp(now());
    
    -- 查询前一天数据
    select * from user_info where join_time BETWEEN date_sub(CURDATE(), INTERVAL 1 DAY) AND date_sub(DATE_FORMAT(NOW(), '%Y-%m-%d 23:59:59'),INTERVAL 1 DAY);
    -- 上周一
    select subdate(  date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),date_format( date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),'%w')-1);
    -- 上周日
    select date_add(subdate(  date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),date_format( date_add(subdate( date_add(curdate(), interval -1 day),date_format(date_add(curdate(), interval -1 day),'%w')-1), interval -2 day),'%w')-1), interval 6 day);
  • 相关阅读:
    构建可靠的系统
    netty详解之reactor模型
    netty详解之io模型
    小明的魔法调度框架之旅
    JAVA版-微信高清语音.speex转.wav格式
    Spring Data JPA 缓存结合Ehcache介绍
    @media print样式 关于table断页
    JBPM学习第6篇:通过Git导入项目
    JBPM学习第5篇:Mysql配置
    JBPM学习第4篇:10分钟熟悉Eclipse
  • 原文地址:https://www.cnblogs.com/huangxiaoxue/p/8870839.html
Copyright © 2011-2022 走看看