sql 查找从现在开始/之前的几个月的日期

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 查找从现在开始/之前的几个月的日期相关的知识,希望对你有一定的参考价值。


-----------------------------------------Vertica---------------------------------------------------------------------------

select 
Now(),
add_months(Now(), 1) as 1MonthFromNow,
add_months(Now(),-1) as 1MonthAgo,

add_months(Now(), 5) as 5MonthsFromNow,
add_months(Now(),-5) as 5MonthsAgo,

add_months(Now(), 8) as 8MonthsFromNow,
add_months(Now(),-8) as 8MonthsAgo


-------------------------------------------MySQL----------------------------------------------------------------------------

select 

now(),
date(adddate(now(), 5)) as 5DaysFromNow,    
time(addtime(now(), 5)) as 5SecondsFromNow,

date(subdate(now(), 5)) as 5DaysAgo,
time(subtime(now(), 5)) as 5SecondsAgo,

#fixed input month
period_add(201801, 3) as 3MonthFromYM,
period_add(201801,-3) as 3MonthAgo,

concat(year(now()),  #get current year month
	case when month(now()) < 10 then concat(0, month(now())) else month(now()) end) as ThisYM,
	
#dynamic input month
period_add(concat(year(now()),  #get current year month
				case when month(now()) < 10 then concat(0, month(now())) else month(now()) end), 5) as 5MonthsFromNow

				
now()               |5DaysFromNow |5SecondsFromNow |5DaysAgo   |5SecondsAgo |3MonthFromYM |3MonthAgo |ThisYM |5MonthsFromNow |
--------------------|-------------|----------------|-----------|------------|-------------|----------|-------|---------------|
2017-10-18 16:17:29 |2017-10-23   |16:17:34        |2017-10-13 |16:17:24    |201804       |201710    |201710 |201803         |


以上是关于sql 查找从现在开始/之前的几个月的日期的主要内容,如果未能解决你的问题,请参考以下文章

sql语句 查询一个月的几个周的数据

前几个月的 SQL 固定日期

如何修改momentjs日历以在用户指定的日期开始几周?

Tsql -> 从今天开始过滤 6 个月的数据,表中的日期字段为 YYYYMM

获取几个月的最新记录并使用 Oracle PL-SQL 为每个 ID 汇总其值

从当前日期回溯 24 个月的 where 子句存在问题