MySQL 日期函数

MySQL中时间相关的函数很多,使用也很灵活。

1、str_to_date(str, format) 将字符串转为日期类型

select str_to_date('2020-12-21', '%Y-%m-%d'),只有日期部分,转为date类型

select str_to_date('12:25:30', '%H:%i:%s'),只有时间部分,转为time类型

select str_to_date('2020-12-21 12:25:30', '%Y-%m-%d %T'),同时包含日期和时间部分,转为datetime类型

其实,判断datetime字段在某个范围,只需要使用

datetime_field between '2020-09-01 08:30:00' and '2020-09-10 12:30:00' 即可,如果省略字符串中的time部分,效果和时间为00:00:00同。

2、date(str),字符串转为date类型

select date('2020-12-21')

2020-12-21

3、datediff(str1,str2) 两个日期相差几天,只有两个日期字符串的date部分参与计算

SELECT DATEDIFF('2020-12-31 23:59:59','2020-12-29')

1

4、date_add(exp, 时间单位unit)

时间单位包括:YEAR, DAY等,根据exp的类型和时间单位返回date或者datetime类型,如果exp为date类型,unit只到年月日,则返回date,如果exp为datetime,则返回datetime,如果exp为date类型,unit精细时间单位,则返回datetime类型

SELECT DATE_ADD('2020-12-31', INTERVAL 1 SECOND), DATE_ADD('2020-12-31 12:20:00', INTERVAL 1 DAY)

2020-12-31 00:00:01 ,     2021-01-01 12:20:00

5、adddate(date, days) ,subdate(date, days) 在date基础上加/减days天

select adddate('2020-12-31',5)

2021-01-05, 2020-12-26

6、date_format(date, format)

将日期转为指定时间格式的字符串,

%Y为4位年份,%y两位年份,%m数字月份,%M英文月份,%d月中第几天,%D月中第几天加序数例如1st,2nd等

%p为AM,PM,%H 24小时,%h12小时,%I 12小时,%i分钟,%S,%s为秒,%T24小时,hh:mm:ss格式

%U%u年中第几周,%W星期几,英文

SELECT DATE_FORMAT('2020-10-04 22:23:00', '%d %m %Y'),DATE_FORMAT('2020-10-04 22:23:00', '%W')

04 10 2020,Sunday

7、DAYNAME(date) 周几

SELECT DAYNAME('2020-10-04')

Sunday

8、dayofmonth(date) 所在月第几天

select  dayofmonth('2020-10-04')

4

9、LAST_DAY(date) 日期所在月的最后一天

select LAST_DAY(NOW())

2021-03-31

10、quarter(date) 季度,数字

select quarter(NOW())

1

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值