zoukankan      html  css  js  c++  java
  • 015.mysql-取上个数据期,并将数值插入到变量中、返回前一天、前一个月、前一周、前一个季度

    取上个数据期,并将数值插入到变量中

            /*
            上个季度的数据期
            */
            DECLARE max_period int4;
    
            select DATE_FORMAT(date_sub(concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01'),interval 1 day),'%Y%m') into max_period ;
    -- 返回昨天
    select DATE_SUB( curdate( ), INTERVAL 1 DAY )
    
    -- 返回上周第一天
    select date_sub(now(),interval dayofweek(now())-1+6 day)
    
    -- 返回上周最后一天
    select date_sub(now(),interval dayofweek(now())-1 day)
    
    -- 返回本周第一天
    select date_sub(now(),interval dayofweek(now())-2 day)
    
    -- 返回本周最后一天
    select date_add(now(),interval 7-dayofweek(now())+1 day)
    
    -- 返回下周第一天
    select date_add(now(),interval 7-dayofweek(now())+1+1 day)
    
    -- 返回下周最后一天
    select date_add(now(),interval 7-dayofweek(now())+1+7 day)
    
    -- 返回上月第一天
    select concat(year(now()),'-',lpad(month(now())-1,2,0),'-01')
    
    -- 返回上月最后一天
    select date_sub(now(),interval extract(DAY from now())-1+1 day)
    
    -- 返回本月第一天
    select date_sub(now(),interval extract(DAY from now())-1 day)
    
    -- 返回本月最后一天
    select last_day(now())
    
    -- 返回下月第一天
    select date_add(last_day(now()),interval 1 day) 
    
    -- 返回下月最后一天
    select last_day(date_add(last_day(now()),interval 1 day ))
    
    -- 返回上年第一天
    select concat(year(now())-1,'-01-01')
    
    -- 返回上年最后一天
    select concat(year(now())-1,'-12-31')
    
    -- 返回本年第一天
    select date_sub(now(),interval dayofyear(now())-1 day)
    
    -- 返回本年最后一天
    select concat(year(now()),'-12-31')
    
    -- 返回下年第一天
    select date_add(concat(year(now()),'-12-31'),interval 1 day)
    
    -- 返回下年最后一天
    select concat(year(now())+1,'-12-31')
    
    -- 返回上季度第一天
    select concat(year(now()),'-',lpad((quarter(now())-1)*3-2,2,'0'),'-01')
    
    -- 返回上季度最后一天
    select date_sub(concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01'),interval 1 day)
    
    -- 返回本季度第一天
    select concat(year(now()),'-',lpad((quarter(now())-1)*3+1,2,'0'),'-01')
    
    -- 返回本季度最后一天
    select last_day(concat(year(now()),'-',lpad(quarter(now())*3,2,0),'-01'))
    
    -- 返回下季度第一天
    select concat(year(now()),'-',lpad((quarter(now()))*3+1,2,'0'),'-01')
    
    -- 返回下季度最后一天
    select last_day(concat(year(now()),'-',lpad((quarter(now())+1)*3,2,0),'-01'))
  • 相关阅读:
    电子工程师的血泪史
    最简单的bootloader的编写步骤
    6811汇编语言
    Tiny6410SHT10温湿度传感器
    Tiny6410裸机程序
    无线收发模块NRF24LU1和NRF24LE1
    转载工作10年的人总结的6句话
    Tiny6410取模软件设置
    别人的感悟
    在Windows下用Virtualbox虚拟linux时共享文件夹设置的方法
  • 原文地址:https://www.cnblogs.com/star521/p/14171792.html
Copyright © 2011-2022 走看看