SQL 月同环比 日期 T+1 自动计算

对于离线数据的分析, 数据通常是 T+1 的, 即所有数据更新都是到 "昨天". 对于这样的同环比能自动计算是很需要的.

-- 以Mysql为例: 

-- 今天: 2022/3/1
select curdate(); 

-- 昨天: 2022/2/28
select date_add(curdate(), interval -1 day)

-- 昨天的当月第一天:  '2022/3/1'
select date_add(date_add('2022/3/1', interval -1 day), interval -day(date_add('2022/3/1', interval -1 day)) +1 day)

-- 1. 月同比去年时间计算

-- 昨天的去年的当月第一天
select date_add(date_add(date_add('2022/3/1', interval -1 day), interval -day(date_add('2022/3/1', interval -1 day)) +1 day), interval -1 year)

-- 昨天的去年
select date_add(date_add('2022/3/1', interval -1 day), interval -1 year)

-- 2. 环比上月计算

-- 昨天的去年的当月第一天
select date_add(date_add(date_add('2022/3/1', interval -1 day), interval -day(date_add('2022/3/1', interval -1 day)) +1 day), interval -1 month)

-- 昨天的上月
select date_add(date_add('2022/3/1', interval -1 day), interval -1 month)
posted @   致于数据科学家的小陈  阅读(631)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
历史上的今天:
2020-03-12 递归神经网络 - 语言模型
点击右上角即可分享
微信分享提示