MySQL的日期函数

MySQL的日期函数

1、获取当前日期和时间

curdate():获取当前日期,不包括时分秒。

curtime():获取当前时间,不包含日期。

now() 或 sysdate():获取当前时间和日期。建议使用sysdate(),因为在oracle中也可以使用

2、字符串和日期的转换

str_to_date():字符串到时间的转换

date_format():时间到字符串的转换

常用的日期格式是%Y-%m-%d %H:%i:%s

示例:

select str_to_date('2008-4-21 5:3:28','%Y-%m-%d %H:%i:%s');
select date_format(now(),'%Y-%m-%d %H:%i:%s');

拓展

在oracle中对应的函数:

to_date():字符串到时间的转换

to_char():时间到字符串的转换

常用的日期格式有 yyyymmddhh24missyyyy-mm-dd hh24:mi:ss

如果时间带AM/PM,那么日期格式可以用 yyyy-mm-dd hh:mi:ssam

示例:

SELECT
to_char(sysdate, 'yyyymmddhh24miss'),
to_date('2017-06-01 9:25:40', 'yyyy-mm-dd hh24:mi:ss'),
to_date('2017-06-01 9:25:40 下午', 'yyyy-mm-dd hh:mi:ss am')
FROM
dual;

3、日期和时间的计算

+ interval:对日期时间类型加1天、1秒、1月等。

- interval:对日期时间类型减1天、1秒、1月等。

示例:

SELECT
NOW(),
NOW() + INTERVAL 1 YEAR,
NOW() + INTERVAL 1 MONTH,
NOW() - INTERVAL 1 DAY,
NOW() - INTERVAL 1 SECOND
FROM
DUAL ;

date_add() 或 adddate():和直接用interval结果一样。

date_sub():用于减一个interval。

示例:

--在当前时间的基础上分别增加1秒和减少1小时
SELECT NOW(), DATE_ADD(NOW(),INTERVAL 1 SECOND),DATE_SUB(NOW(),INTERVAL 1 HOUR);

datediff():计算两个日期之间间隔的天数。

示例:

SELECT DATEDIFF(NOW(),'2022-11-04');

拓展

在oracle数据库中对时间进行计算:

+ N:对date类型加1表示加1天,那么1小时可以用1/24表示,同理1秒=1/86400。

numtodsinterval():同样表示时间间隔,1秒可以表示为numtodsinterval(1, ’second’)。

add_months():增加N月。

示例:

SELECT
sysdate "当前时间",
sysdate + 1 "增加一天",
sysdate + numtodsinterval(1, 'hour') "增加1小时",
add_months(sysdate, 3) "增加3个月"
FROM
dual;

 

posted @   danielzzz  阅读(331)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示