# ADDDATE
返回与起始日期间隔一定时间间隔的日期。
返回值类型由第一个参数date的类型决定。如果date是字符串,则返回字符串;如果date是日期,则返回日期。如果传入的是一个字符串类型的数据表字段,则格式必须是yyyyMMdd,如果不是,则需要用TODATE先转日期。
# 语法
ADDDATE(date, offset, datepart)
- date:起始日期,日期类型,也可以是日期类型的字符串
- offset:时间间隔,表示要增加或减少的时间
- datepart:时间间隔类型,不区分大小写,详见下表
datepart | 说明 |
---|---|
y | 年 |
m | 月 |
d | 日 |
h | 小时 |
mi | 分钟 |
s | 秒 |
# 示例
ADDDATE('2020',1,'y')
返回2020年的后一年2021
ADDDATE('202007',1,'y')
返回2020年7月的后一年202107
ADDDATE('20200715',1,'y')
返回2020年7月15日的后一年20210715
ADDDATE('202007',1,'m')
返回2020年7月的后一月202008
ADDDATE('20200715',1,'d')
返回2020年7月15日的后一天20200716
ADDDATE('20200715',-1,'d')
返回2020年7月15日的前一天20200714
ADDDATE('2020-07-23',2,'m')
日期格式为yyyy-mm-dd2020-09-23
ADDDATE('2020.07.23',2,'m')
日期格式为yyyy.mm.dd20200923
ADDDATE('2020/07/23',2,'m')
日期格式为yyyy/mm/dd2020/09/23
ADDDATE('2020 07 23',2,'m')
日期格式为yyyy mm dd20200923
LASTDAY(ADDDATE(TODAY(),-1,'m'))
返回当前日期的上个月的最后一天2022-04-30
IF(DAY(TODAY())>=15,ADDDATE(ADDDATE(TODAY(),-1,'M'),16-DAY(TODAY()),'D'),ADDDATE(ADDDATE(TODAY(),-2,'M'),16,'D'))
如果当前日期大于15号,就返回16天前,否则就返回上个月的16天前2022-03-21
IF(DAY(TODAY())>=15,DATE(year(ADDDATE(TODAY(),-1,'M')),month(ADDDATE(TODAY(),-1,'M')),'16'),DATE(year(ADDDATE(TODAY(),-2,'M')),month(ADDDATE(TODAY(),-2,'M')),'16'))
如果当前日期大于15号,就返回上个月16号,否则就返回上上个月的16号2022-03-16
ADDDATE(TODAY(),-(WEEKDAY(TODAY())-1),'d')
返回当前日期所在周的第一天2022-05-02
ADDDATE(TODAY(),7-WEEKDAY(TODAY()),'d')
返回当前日期所在周的最后一天2022-05-08
ADDDATE(TODAY(),-(RIGHT(TODAY(),2)-1),'d')
返回当前日期的第一天2022-05-01
RIGHT(LASTDAY(ADDDATE(TODAY(),0,'d')),2)
返回月份所在的天数31
ADDDATE([门店销售明细表].[销售日期],1,'y')
返回销售日期的后一年20191215
0条评论
评论