https://blog.csdn.net/weixin_39667801/article/details/110165685
http://www.saoniuhuo.com/article/detail-1181.html
to_date:日期时间转日期函数
select to_date( 2015-04-02 13:34:12 );
输出:2015-04-02
from_unixtime:转化unix时间戳到当前时区的时间格式
select from_unixtime(1323308943,’yyyyMMdd’);
输出:20111208
unix_timestamp:获取当前unix时间戳
select unix_timestamp();
输出:1430816254
select unix_timestamp( 2015-04-30 13:51:20 );
输出:1430373080
year:返回日期中的年
select year( 2015-04-02 11:32:12 );
输出:2015
month:返回日期中的月份
select month( 2015-12-02 11:32:12 );
输出:12
day:返回日期中的天
select day( 2015-04-13 11:32:12 );
输出:13
hour:返回日期中的小时
select hour( 2015-04-13 11:32:12 );
输出:11
minute:返回日期中的分钟
select minute( 2015-04-13 11:32:12 );
输出:32
second:返回日期中的秒
select second( 2015-04-13 11:32:56 );
输出:56
weekofyear:返回日期在当前周数
select weekofyear( 2015-05-05 12:11:1 );
输出:19
datediff:返回开始日期减去结束日期的天数
select datediff( 2015-04-09 , 2015-04-01 );
输出:8
date_sub:返回日期前n天的日期
select date_sub( 2015-04-09 ,4);
输出:2015-04-05
date_add:返回日期后n天的日期
select date_add( 2015-04-09 ,4);
输出:2015-04-13
一、参考日期为当前日期
- 昨天
#方式一:
select date_format(date_sub(current_date(),1), yyyyMMdd );
#方式二:
select date_format(date_sub(from_unixtime(unix_timestamp(), yyyy-MM-dd ),1), yyyyMMdd );
#方式三:
select date_format(date_sub(to_date(current_date()),1), yyyyMMdd );
- 本月
select from_unixtime(unix_timestamp(), yyyyMM )
- 本月月初
select CONCAT(from_unixtime(unix_timestamp(), yyyyMM ), 01 );
- 上月同期
select date_format(add_months(from_unixtime(unix_timestamp(), yyyy-MM-dd ),-1), yyyyMMdd );
- 上月月初
select CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), yyyy-MM-dd ),-1), yyyyMM ), 01 );
- 上月月末
select date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp(), yyyyMM ), 01 ), yyyyMMdd ), yyyy-MM-dd ),1), yyyyMMdd );
- 去年同期
select date_format(add_months(from_unixtime(unix_timestamp(), yyyy-MM-dd ),-12), yyyyMMdd );
- 去年同期月初
select CONCAT(date_format(add_months(from_unixtime(unix_timestamp(), yyyy-MM-dd ),-12), yyyyMM ), 01 );
二、参考日期为指定日期: 20210129
- 昨天
select date_format(date_sub(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyy-MM-dd ),1), yyyyMMdd )
- 本月
select substr( 20210129 ,1,6)
- 本月月初
select CONCAT(substr( 20210129 ,1,6), 01 )
- 上月同期
select date_format(add_months(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyy-MM-dd ),-1), yyyyMMdd )
- 上月月初
select CONCAT(date_format(add_months(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyy-MM-dd ),-1), yyyyMM ), 01 )
- 上月月末
select date_format(date_sub(from_unixtime(unix_timestamp(CONCAT(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyyMM ), 01 ), yyyyMMdd ), yyyy-MM-dd ),1), yyyyMMdd )
- 去年同期
select date_format(add_months(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyy-MM-dd ),-12), yyyyMMdd )
- 去年同期月初
select CONCAT(date_format(add_months(from_unixtime(unix_timestamp( 20210129 , yyyyMMdd ), yyyy-MM-dd ),-12), yyyyMM ), 01 )