mysql日期函数 简书_mysql时间函数

一、将字符串转变为日期

STR_TO_DATE(string, format_mask)

SELECT STR_TO_DATE("August 10 2017", "%M %d %Y");

-> 2017-08-10

二、返回当前时间

1、NOW()

返回当前日期和时间

SELECT NOW();

-> 2018-09-19 20:57:43

2、CURDATE()

返回当前日期

SELECT CURDATE();

-> 2018-09-19

3、CURTIME()

返回当前时间

SELECT CURTIME();

-> 19:59:02

三、提取时间

1、DATE()

从时间表达式中提取日期值

SELECT DATE("2017-06-15");

-> 2017-06-15

2、TIME()

从时间表达式中提取时间部分

SELECT TIME("19:30:10");

-> 19:30:10

3、YEAR(d)

提取年份

SELECT YEAR("2017-06-15");

-> 2017

4、MONTH(d)

提取月份

SELECT MONTH('2011-11-11 11:11:11');

->11

5、DAY(d)

提取天

SELECT DAY("2017-06-15");

-> 15

6、HOUR(t)

提取小时

SELECT HOUR('1:2:3');

-> 1

7、MINUTE(t)

提取分钟

SELECT MINUTE('1:2:3')

-> 2

8、SECOND(t)

提取秒

SELECT SECOND('1:2:3');

-> 3

四、加减时间

1、ADDDATE(d,n)

加几天

SELECT ADDDATE("2017-06-15", 10);

->2017-06-25

SELECT ADDDATE('2011-11-11 11:11:11', INTERVAL 5 MINUTE);

-> 2011-11-11 11:16:11

2、ADDTIME(t,n)

加几秒

加 5 秒:

SELECT ADDTIME('2011-11-11 11:11:11', 5);

->2011-11-11 11:11:16 (秒)

添加 2 小时, 10 分钟, 5 秒:

SELECT ADDTIME("2020-06-15 09:34:21", "2:10:5");

-> 2020-06-15 11:44:26

3、PERIOD_ADD(period,n)

加几月

SELECT PERIOD_ADD(201703, 5);

-> 201708

4、SUBDATE(d,n)

减几天

SELECT SUBDATE('2011-11-11 11:11:11', 1)

->2011-11-10 11:11:11 (默认是天)

5、SUBTIME(t,n)

减几秒

SELECT SUBTIME('2011-11-11 11:11:11', 5)

->2011-11-11 11:11:06 (秒)

五、相差时间

1、DATEDIFF(d1,d2)

相差天数

SELECT DATEDIFF('2001-01-01','2001-02-02')

-> -32

2、TIMEDIFF(time1, time2)

相差时间

SELECT TIMEDIFF("13:10:11", "13:10:10");

-> 00:00:01

3、PERIOD_DIFF(period1, period2)

相差月份

SELECT PERIOD_DIFF(201710, 201703);

-> 7

六、判断周几

1、DAYNAME(d)

返回日期 d 是星期几,如 Monday,Tuesday

SELECT DAYNAME('2011-11-11 11:11:11')

->Friday

2、DAYOFWEEK(d)

日期 d 今天是星期几,1 星期日,2 星期一,以此类推

SELECT DAYOFWEEK('2011-11-11 11:11:11')

->6

3、WEEKDAY(d)

日期 d 是星期几,0 表示星期一,1 表示星期二

SELECT WEEKDAY("2017-06-15");

-> 3

七、其他

1、QUARTER(d)

返回日期d是第几季节,返回 1 到 4

SELECT QUARTER('2011-11-11 11:11:11')

-> 4

2、LAST_DAY(d)

返回给给定日期的那一月份的最后一天

SELECT LAST_DAY("2017-06-20");

-> 2017-06-30

3、MONTHNAME(d)

返回日期当中的月份名称,如 November

SELECT MONTHNAME('2011-11-11 11:11:11')

-> November

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值