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

  • 相关阅读:
    js中给一个元素添加事件
    asp.net客户端回调
    (转)web元素之input (javascript)功能
    在wcf中使用基于证书的授权和保护
    (转)IE与FireFox的js和css几处不同点
    IE&FF兼容性问题
    solaris UFS文件系统 要点
    perl命令行 代替 各种shell 一则
    nginx中的验证模块
    漂亮的正则,素数查找
  • 原文地址:https://www.cnblogs.com/tsxf/p/6479831.html
Copyright © 2011-2022 走看看