zoukankan      html  css  js  c++  java
  • 关于mysql时间处理

    当前日期: SELECT CURDATE();

    当前时间:
                   SELECT CURDATE() UNION
                   SELECT CURDATE()+0 union
                   SELECT CURTIME() union
                   SELECT NOW();

    当前是几号 : SELECT DAY(CURDATE());
    日期做减法:SELECT date_sub(curdate(),interval day(curdate())-1 day); 其中day(curdate())-1可以认为是一个数值,我需要的是昨天的日子
                     用当前日期带年月日的-间隔值,day是单位,也可以用DATEDIFF(expr,expr2) 两个日期的间隔天数
                     这句意思是----》求出当前月初的日期

    日期做加法  date_add(date_sub(curdate(),interval day(curdate())-1 day),interval 1 month);

              对第一个参数日期类型的 进行加一个月

           技巧:看一个函数的开始位置和结束位置在什么地方,里面的参数是怎么排列的,间隔是什么

            这句意思是---》求出下一个月的月初日期

    DATE_ADD(date(CONCAT(YEAR(CURDATE()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 QUARTER)

            这句意思是---》求出下一个季度的日期

    思路是:

    1.求出当前季度
    2.根据季度推算出季度的第一个月是什么
    3.既然是季度,就需要年份来区分,这是哪一年的哪个季度
    4.qurater(curage()---->当前季度
    elt(quarter(curdate()),1,4,7,10)----->季度所在月数组中的第一个月 elt是把第一个参数跟后面数组列表元素值进行匹配---》结果是对应数值所在数组的下标
    YEAR(CURDATE())-------》当前日期的年份
    最后用字符串拼接,格式yyyy-月-1
    5.对刚才拼接的日期字符串进行日期格式化 date(dateString)---->目的是我要用date_add函数对当前日期进行操作
    eg: date_add(date_add(date(concat(year(curdate()),'-',elt(quarter(curdate()),1,4,7,10),'-',1)),interval 1 quarter),interval 1 hour);
    方法就是拆分:各个击破

     

    参考:http://www.cnblogs.com/ggjucheng/p/3352280.html

  • 相关阅读:
    UML 结构图之类图 总结
    UML 结构图之包图 总结
    UML 行为图之用例图 总结
    一位36岁程序员的困惑(转)
    某程序员转行前的感慨 告别程序员生涯
    PHP有前途吗?
    使用d3制作上下结构的股权穿透图
    elementUI实现动态拖拽表头、可拖拽列
    使用iview框架,如何进行输入框或者按钮的关联验证
    iview的Modal组件点击确定按钮如何阻止弹窗的关闭
  • 原文地址:https://www.cnblogs.com/tsxf/p/6479831.html
Copyright © 2011-2022 走看看