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

  • 相关阅读:
    轻量级微服务架构【读书笔记3】
    轻量级微服务架构【读书笔记2】
    轻量级微服务架构【读书笔记1】
    mvn package 和 mvn install
    SpringBoot 使用MultipartFile上传文件相关问题解决方案
    Docker学习笔记【三】安装Redis
    RESTful 最佳实战
    HTTP Status Codes 查询表
    扎实基础总述
    文本挖掘2相似度计算
  • 原文地址:https://www.cnblogs.com/tsxf/p/6479831.html
Copyright © 2011-2022 走看看