目录
13、year、month、day、hour、minute、second
一、日期处理函数
1、current_date
含义:获取当前日期。
用法:current_date
例子:
select current_date;
>> 2022-09-13
2、current_timestamp
含义:获取当前时间。
用法:current_timestamp
例子:
select current_timestamp;
>> 2022-09-13 17:52:57.613
3、date_format
含义:将日期格式化。
用法:date_format(date,格式)
例子:
select date_format('2022-09-13 12:00:00','yyyy-MM-dd');
>> 2022-09-13
4、to_date
含义:转为日期格式,默认为yyyy-MM-dd格式。
用法:to_date(time)
例子:
select to_date(current_timestamp);
>> 2022-09-13
5、date_add
含义:日期加法函数,数字为正,则加多少天;为负,则减多少天。
用法:date_add(date,number)
例子:
select date_add('2022-09-13',3);
>> 2022-09-16
select date_add('2022-09-13',-3);
>> 2022-09-10
6、date_sub
含义:与date_add对应,日期减法函数,数字为正,则减多少天;为负,则加多少天。
用法:date_sub(date,number)
例子:
select date_sub('2022-09-13',3);
>> 2022-09-10
select date_sub('2022-09-13',-3);
>> 2022-09-16
7、add_months
含义:日期加一个月。
用法:add_months(date,number)
例子:
select add_months('2022-09-13',1);
>> 2022-10-13
8、next_day
含义:该日期的下一个周几所在的日期。(通俗理解:某日期的下周几是多少号)
用法:next_day(date,dayofweek)
例子:
select next_day('2022-09-13',"Fri");--下周五
>> 2022-09-23
9、last_day
含义:当月最后一天的日期。
用法:last_day(date)
例子:
select last_day('2022-09-13');
>> 2022-09-30
10、datediff
含义:计算两个日期之间的天数。正数表示前者大于后者,负数表示前者小于后者。
用法:datediff(date1,date2)
例子:
select datediff('2022-09-13','2022-09-10');
>> 3
11、dayofmonth
含义:日期所在月份的第多少天。
用法:dayofmonth(date)
例子:
select dayofmonth('2022-09-13');
>> 13
12、weekofyear
含义:日期所在年份的第多少周。
用法:weekofyear(date)
例子:
select weekofyear(current_date);
>> 38
13、year、month、day、hour、minute、second
二、日期处理需求
1、取当月第1天
先获取当前日期在该月的第n天,然后当前日期减去第(n-1)天。
select date_sub('2022-09-13',dayofmonth('2022-09-13')-1);
>> 2022-09-01
2、取当月第8天
先获取当前日期在该月的第n天,然后当前日期减去第(n-1)天,再增加(m-1)天。
select date_add(date_sub('2022-09-13',dayofmonth('2022-09-13')-1),8-1);
>> 2022-09-08
3、查询下一个月的第一天
方式一:先获取最后一天,然后日期+1。
select date_add(last_day('2022-09-13'),1);
>> 2022-10-01
方式二:先获取今天是当月第几天,算出当月第一天,然后加一个月。
select add_months(date_sub('2022-09-13',dayofmonth('2022-09-13')-1),1);
>> 2022-10-01
4、获取本周一的日期
先获取下周一的日期,然后减去7天。
select date_add(next_day(current_date,"MO"),-7);
>> 2022-09-12
以上就是本次分享的全部内容,创作不易,你的关注、点赞、转发是我坚持的动力,开心的源泉,我会持续为大家输出作品的。