MySQL日期函数

本文详细介绍了在数据库中操作日期和时间的各种函数,包括获取当前日期、时间、日期时间,提取日期、时间各部分,时间间隔转换,以及日期时间的加减运算。通过实例展示了如何使用这些函数进行日期和时间的计算,对于数据库查询和数据处理非常实用。
摘要由CSDN通过智能技术生成

下文中使用到的数据库,可参考 创建练习数据库

返回当前日期

  1. 函数:CURDATE()

  2. 指令

    SELECT CURDATE();
    
  3. 运行结果

返回当前时间

  1. 函数:CURTIME()

  2. 指令

    SELECT CURTIME();
    
  3. 运行结果

返回当前日期和时间

  1. 函数:NOW()

  2. 指令

    SELECT NOW()
    
  3. 运行结果

提取日期值

  1. 函数:DATE()

  2. 指令

    SELECT DATE('2021-10-31 11:36:20')
    
  3. 运行结果

提取年份值

  1. 函数:YEAR()

  2. 指令

    SELECT YEAR('2021-10-31 11:36:20')
    
  3. 运行结果

提取月份值

  1. 函数:MONTH()

  2. 指令

    SELECT MONTH('2021-10-31 11:36:20')
    
  3. 运行结果

提取天数值

  1. 函数:DAY()

  2. 指令

    SELECT DAY('2021-10-31 11:36:20')
    
  3. 运行结果

提取小时值

  1. 函数:HOUR()

  2. 指令

    SELECT HOUR('2021-10-31 11:36:20')
    
  3. 运行结果

提取分钟值

  1. 函数:MINUTE()

  2. 指令

    SELECT MINUTE('2021-10-31 11:36:20')
    
  3. 运行结果

提取秒数值

  1. 函数:SECOND()

  2. 指令

    SELECT SECOND('2021-10-31 11:36:20')
    
  3. 运行结果

将秒数转为时间

  1. 函数:SEC_TO_TIME

  2. 指令

    SELECT SEC_TO_TIME(3661)
    
  3. 运行结果

将时间转为秒数

  1. 函数:TIME_TO_SEC()

  2. 指令

    SELECT TIME_TO_SEC('1:01:01')
    
  3. 运行结果

计算 n 天后的日期

  1. 函数:ADDDATE(d,n)

  2. 说明:d 表示日期,n 表示天数。

  3. 指令

    SELECT ADDDATE('2021-10-31',10)
    
  4. 运行结果

计算 n 天前的日期

  1. 函数:SUBDATE(d,n)

  2. 说明:d 表示日期,n 表示天数。

  3. 指令

    SELECT SUBDATE('2021-10-31 12:23:20',10)
    
  4. 运行结果

计算 n 秒后的时间

  1. 函数:ADDTIME(t,n)

  2. 说明:t 表示时间,n 表示时间间隔,当 n 为整数时要小于 60,也可以用字符串表示。

  3. 指令

    SELECT ADDTIME('2021-10-31 11:43:25',5),ADDTIME('2021-10-31 11:43:25','2:10:15')
    
  4. 运行结果

计算 n 秒前的时间

  1. 函数:SUBTIME()

  2. 说明:t 表示时间,n 表示时间间隔,当 n 为整数时要小于 60,也可以用字符串表示。

  3. 指令

    SELECT SUBTIME('2021-10-31 12:23:20',10),SUBTIME('2021-10-31 12:23:20','2:3:20')
    
  4. 运行结果

计算日期间隔

  1. 函数:DATEDIFF(d1,d2)

  2. 说明:d1 表示结束日期,d2 表示开始日期。

  3. 指令

    SELECT DATEDIFF('2022-01-01','2021-10-31'),DATEDIFF('2021-10-31','2022-01-01')
    
  4. 运行结果

计算时间间隔

  1. 函数:TIMEDIFF(t1,t2)

  2. 说明:t1 是开始时间 t2 结束时间

  3. 指令

    SELECT TIMEDIFF('12:31:20','11:30:10')
    
  4. 运行结果

练习:计算 xs 表中所有人的年龄

  1. 指令

    select 学号,姓名,出生日期,DATEDIFF(NOW(),出生日期) DIV 365 as 年龄 from xs;
    
  2. 运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

iGma_e

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值