三度网教程:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

mysql日期与时间

时间:2022-10-18作者:未知来源:三度网教程人气:


SQL是Structured Query Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
刚一开始肯定会有很多同学对mysql获取时间不了解,今天我们就来详细的讲一下mysql的时间和日期,对于mysql时间和日期不了解的同学可以多看看哦~

一、日期时间获取

1,1获取当前本地的日期和时间

SELECT NOW(), CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP(), SYSDATE();

上面5个函数都可以获取当前本地时间,但SYSDATE有所不同。

SELECT NOW(), SLEEP(3), NOW();

执行结果:

NOW() sleep(3) NOW() 2017-11-09 17:21:09 0 2017-11-09 17:21:09

虽然sleep了3秒,但NOW()前后2次获取到时间是一样的,也就是说NOW()函数获取的时间是在整个SQL语句开始执行时的时间,无论SQL语句中有多少个NOW()函数,获取到的时间都是一样的。

CURRENT_TIMESTAMP(), LOCALTIME(), LOCALTIMESTAMP()和NOW()函数一样。

但SYSDATE不同,它获取到的是SYSDATE()函数执行时的实时时间:

SELECT SYSDATE(), SLEEP(3), SYSDATE();

执行结果:

SYSDATE() sleep(3) SYSDATE() 2017-11-09 17:25:05 0 2017-11-09 17:25:08

1.2、 获取当前本地的日期

SELECT CURDATE(), CURRENT_DATE();

1.3、 获取当前本地的时间

SELECT CURTIME(), CURRENT_TIME();

1.4、 获取当前UTC日期和时间

SELECT UTC_TIMESTAMP();

1.5、 获取当前UTC日期

SELECT UTC_DATE();

1.6、 获取当前UTC时间

SELECT UTC_TIME();

1.7、获取时间戳(自1970年经过的秒)

SELECT UNIX_TIMESTAMP(); -- 当前时间时间戳 SELECT UNIX_TIMESTAMP('2017-11-09 12:30:00'); -- 自1970年到2017-11-09 12:30:00经过的秒数

二、 时间操作


2.1、 从字符串提取时间和日期

SET @dt = '2008-09-10 07:15:30.123456'; SELECT DATE(@dt); -- 2008-09-10 SELECT TIME(@dt); -- 07:15:30.123456 SELECT YEAR(@dt); -- 2008 SELECT QUARTER(@dt); -- 3 SELECT MONTH(@dt); -- 9 SELECT WEEK(@dt); -- 36 SELECT DAY(@dt); -- 10 SELECT HOUR(@dt); -- 7 SELECT MINUTE(@dt); -- 15 SELECT SECOND(@dt); -- 30 SELECT MICROSECOND(@dt); -- 123456

2.2、 获取某天在一周、一月、一年中所处位置

SET @dt = '2017-11-09'; SELECT DAYOFWEEK(@dt); -- 5 星期日为0,5代表星期四 SELECT DAYOFMONTH(@dt); -- 9 一个月的第9天 SELECT DAYOFYEAR(@dt); -- 313 2017年的第313天

2.3、 获取指定日期的最后一天

SELECT LAST_DAY('2017-02-05'); -- 2017-02-28

2.4. 时间加减

SET @dt = "2017-11-09 17:10:20.0000001"; SELECT DATE_ADD(@dt, INTERVAL 1 DAY); -- 加1天 SELECT DATE_ADD(@dt, INTERVAL 2 HOUR); -- 加2小时 SELECT DATE_ADD(@dt, INTERVAL 1 MINUTE); -- 加1分钟 SELECT DATE_ADD(@dt, INTERVAL 1 SECOND); SELECT DATE_ADD(@dt, INTERVAL 1 MICROSECOND); -- 加1微妙 SELECT DATE_ADD(@dt, INTERVAL 1 WEEK); -- 加1周 SELECT DATE_ADD(@dt, INTERVAL 1 MONTH); SELECT DATE_ADD(@dt, INTERVAL 1 QUARTER); -- 加1个季度 SELECT DATE_ADD(@dt, INTERVAL 1 YEAR); SELECT DATE_ADD(@dt, INTERVAL -1 DAY); -- 减1天

2.5. 两个日期、时间加减

SELECT DATEDIFF('2008-08-08', '2008-08-01'); -- 7 SELECT DATEDIFF('2008-08-01', '2008-08-08'); -- -7 第一个参数减去第二个参数
SELECT TIMEDIFF('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08 SELECT TIMEDIFF('00:00:00', '08:08:08'); -- -08:08:08

2.6. 时间格式化

SELECT DATE_FORMAT('2008-08-08 22:23:00', '%W %M %Y'); -- Friday August 2008 SELECT DATE_FORMAT('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); -- 20080808222301 SELECT TIME_FORMAT('22:23:01', '%H.%i.%s'); -- 22.23.01

2.7. 秒计算

计算指定时间折合多少秒,如00:01:00表示1分钟,等于60秒。 SELECT TIME_TO_SEC('01:00:05'); -- 3605 SELECT SEC_TO_TIME(3605); -- '01:00:05'

以上就是 mysql日期和时间 的所有内容了,希望可以给同学们带来新的认识和启发吧

相关推荐:

MySQL查询时间基础教程

MySQL时间日期查询方法与函数

mysql时间函数使用 mysql数据库差异比较的PHP代码

以上就是mysql日期和时间的详细内容,更多请关注php中文网其它相关文章!


学习教程快速掌握从入门到精通的SQL知识。

关键词:  mysql日期与时间





Copyright © 2012-2018 三度网教程(http://www.3du8.cn) .All Rights Reserved 网站地图 友情链接

免责声明:本站资源均来自互联网收集 如有侵犯到您利益的地方请及时联系管理删除,敬请见谅!

QQ:1006262270   邮箱:kfyvi376850063@126.com   手机版