MySQL时间函数

本文介绍了MySQL中获取和操作时间的各种函数,如NOW()、TODAY()、current_timestamp、localtime等,以及如何动态获取当前时间、获取日期、时间的各个部分,并展示了如何进行时间间隔的增加和减少操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL获取时间函数

1.1 获得当前日期 + 时间

函数:NOW()或now()
输出格式:yyyy-MM-dd HH:mm:ss    
2022-08-08 22:20:46  

函数:TODAY()
输出格式:yyyy-MM-dd HH:mm:ss    
         2022-08-08 22:20:46

函数:current_timestamp()或current_timestamp
输出格式:yyyy-MM-dd HH:mm:ss    
         2022-08-08 22:20:46

函数:localtime()或localtime
输出格式:yyyy-MM-dd HH:mm:ss
         2022-08-08 22:20:46

函数:localtimestamp()或localtimestamp
输出格式:yyyy-MM-dd HH:mm:ss
         2022-08-08 22:20:46

1.2 动态获取当前时间

函数:sysdate()

mysql> select now(), sleep(3), now();
+———————+———-+———————+
| now() | sleep(3) | now() |
+———————+———-+———————+
| 2022-08-08 22:28:21 | 0 | 2022-08-08 22:28:21 |
+———————+———-+———————+

mysql> select sysdate(), sleep(3), sysdate();
+———————+———-+———————+
| sysdate() | sleep(3) | sysdate() |
+———————+———-+———————+
| 2022-08-08 22:28:41 | 0 | 2022-08-08 22:28:44 |
+———————+———-+———————+

1.3 获取当前日期、时间、年、季度、月、周、日

当前日期:curdate()或current_date()或current_date或data(NOW())
输入格式:yyyy-HH-dd
         2022-08-08

当前时间:curtime或current_time()或current_time或time(NOW())
输入格式:HH:mm:ss
         22:28:44

当前年、季度、月、周、日、时、分、秒
year(NOW())
quarter(NOW())
month(NOW())
week(NOW())
day(NOW())
hour(NOW())
minute(NOW())
second(NOW())

1.4 返回日期参数,在一周、一月、一年中的位置

set @dt = ‘2008-08-08′;
select dayofweek(@dt); — 6
select dayofmonth(@dt); — 8
select dayofyear(@dt); — 221

1.5 返回“某天”在一周中的位置

函数:week();weekofyear();dayofweek();weekday(),yearweek()

set @dt = ‘2008-08-08′;

select week(@dt); — 31
select week(@dt,3); — 32
select weekofyear(@dt); — 32
select dayofweek(@dt); — 6
select weekday(@dt); — 4
select yearweek(@dt); — 200831

1.6 返回星期和月份

函数:dayname();monthname()

set @dt = ‘2008-08-08′;

select dayname(@dt); — Friday
select monthname(@dt); — August

1.7 返回月份中的天

本月第一天:date_add(curdate(), interval - day(curdate()) + 1 day)

本月最后一天:last_day(curdate())

上月第一天:date_add(curdate()-day(curdate())+1,interval -1 month)

上月最后一天:last_day(date_sub(now(),interval 1 month))

下月第一天:date_add(curdate()-day(curdate())+1,interval 1 month)

下月最后一天:last_day(date_sub(now(),interval -1 month))

上月今天的当前日期: date_sub(curdate(), interval 1 month)

上月今天的当前时间戳:unix_timestamp(date_sub(now(),interval 1 month))

1.8 增加时间间隔

当前增加一天: date_add(now(), interval 1 day)

当前增加一小时: date_add(now(), interval 1 hour)

当前增加一分钟: date_add(now(), interval 1 minute)

当前增加一秒钟: date_add(now(), interval 1 second)

当前增加一毫秒: date_add(now(), interval 1 microsecond)

当前增加一周: date_add(now(), interval 1 week)

当前增加一月:date_add(now(), interval 1 month)

当前增加一季度: date_add(now(), interval 1 quarter)

当前增加一年: date_add(now(), interval 1 year)

当前减少一天: date_add(now(), interval -1 day)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值