当前位置:   article > 正文

SQL | 常用的日期处理函数和日期处理需求_sql current_date

sql current_date

目录

一、日期处理函数

1、current_date

2、current_timestamp

3、date_format

4、to_date

5、date_add

6、date_sub

7、add_months

8、next_day

9、last_day

10、datediff

11、dayofmonth

12、weekofyear

13、year、month、day、hour、minute、second

二、日期处理需求

1、取当月第1天

2、取当月第8天

3、查询下一个月的第一天

4、获取本周一的日期


一、日期处理函数

1、current_date

含义:获取当前日期。

用法:current_date

例子:

  1. select current_date;
  2. >> 2022-09-13

2、current_timestamp

含义:获取当前时间。

用法:current_timestamp

例子:

  1. select current_timestamp;
  2. >> 2022-09-13 17:52:57.613

3、date_format

含义:将日期格式化。

用法:date_format(date,格式)

例子:

  1. select date_format('2022-09-13 12:00:00','yyyy-MM-dd');
  2. >> 2022-09-13

4、to_date

含义:转为日期格式,默认为yyyy-MM-dd格式。

用法:to_date(time)

例子:

  1. select to_date(current_timestamp);
  2. >> 2022-09-13

5、date_add

含义:日期加法函数,数字为正,则加多少天;为负,则减多少天。

用法:date_add(date,number)

例子:

  1. select date_add('2022-09-13',3);
  2. >> 2022-09-16
  3. select date_add('2022-09-13',-3);
  4. >> 2022-09-10

6、date_sub

含义:与date_add对应,日期减法函数,数字为正,则减多少天;为负,则加多少天。

用法:date_sub(date,number)

例子:

  1. select date_sub('2022-09-13',3);
  2. >> 2022-09-10
  3. select date_sub('2022-09-13',-3);
  4. >> 2022-09-16

7、add_months

含义:日期加一个月。

用法:add_months(date,number)

例子:

  1. select add_months('2022-09-13',1);
  2. >> 2022-10-13

8、next_day

含义:该日期的下一个周几所在的日期。(通俗理解:某日期的下周几是多少号)

用法:next_day(date,dayofweek)

例子:

  1. select next_day('2022-09-13',"Fri");--下周五
  2. >> 2022-09-23

9、last_day

含义:当月最后一天的日期。

用法:last_day(date)

例子:

  1. select last_day('2022-09-13');
  2. >> 2022-09-30

10、datediff

含义:计算两个日期之间的天数。正数表示前者大于后者,负数表示前者小于后者。

用法:datediff(date1,date2)

例子:

  1. select datediff('2022-09-13','2022-09-10');
  2. >> 3

11、dayofmonth

含义:日期所在月份的第多少天。

用法:dayofmonth(date)

例子:

  1. select dayofmonth('2022-09-13');
  2. >> 13

12、weekofyear

含义:日期所在年份的第多少周。

用法:weekofyear(date)

例子:

  1. select weekofyear(current_date);
  2. >> 38

13、year、month、day、hour、minute、second

 


二、日期处理需求

1、取当月第1天

先获取当前日期在该月的第n天,然后当前日期减去第(n-1)天。

  1. select date_sub('2022-09-13',dayofmonth('2022-09-13')-1);
  2. >> 2022-09-01

2、取当月第8天

先获取当前日期在该月的第n天,然后当前日期减去第(n-1)天,再增加(m-1)天。

  1. select date_add(date_sub('2022-09-13',dayofmonth('2022-09-13')-1),8-1);
  2. >> 2022-09-08

3、查询下一个月的第一天

方式一:先获取最后一天,然后日期+1。

  1. select date_add(last_day('2022-09-13'),1);
  2. >> 2022-10-01

 方式二:先获取今天是当月第几天,算出当月第一天,然后加一个月。

  1. select add_months(date_sub('2022-09-13',dayofmonth('2022-09-13')-1),1);
  2. >> 2022-10-01

4、获取本周一的日期

先获取下周一的日期,然后减去7天。

  1. select date_add(next_day(current_date,"MO"),-7);
  2. >> 2022-09-12

以上就是本次分享的全部内容,创作不易,你的关注、点赞、转发是我坚持的动力,开心的源泉,我会持续为大家输出作品的。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/406741
推荐阅读
相关标签
  

闽ICP备14008679号