MySQL--日期和时间
来源:互联网 发布:织梦cms重新安装 编辑:程序博客网 时间:2024/06/07 03:03
一、 时间、日期获取
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-10SELECT TIME(@dt); -- 07:15:30.123456SELECT YEAR(@dt); -- 2008SELECT QUARTER(@dt); -- 3SELECT MONTH(@dt); -- 9SELECT WEEK(@dt); -- 36SELECT DAY(@dt); -- 10SELECT HOUR(@dt); -- 7SELECT MINUTE(@dt); -- 15SELECT SECOND(@dt); -- 30SELECT 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'); -- 7SELECT DATEDIFF('2008-08-01', '2008-08-08'); -- -7 第一个参数减去第二个参数
SELECT TIMEDIFF('2008-08-08 08:08:08', '2008-08-08 00:00:00'); -- 08:08:08SELECT 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 2008SELECT DATE_FORMAT('2008-08-08 22:23:01', '%Y%m%d%H%i%s'); -- 20080808222301SELECT 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'); -- 3605SELECT SEC_TO_TIME(3605); -- '01:00:05'
阅读全文
1 0
- MySQL--日期和时间
- MySQL--日期和时间
- Mysql日期和时间函数
- Mysql日期和时间函数
- Mysql日期和时间函数
- Mysql日期和时间函数
- MySQL:日期和时间函数
- MySql日期和时间函数
- Mysql日期和时间函数
- MySQL日期和时间类型
- MySQL日期和时间类型
- Mysql日期和时间函数
- Mysql日期和时间函数
- Mysql日期和时间函数
- mysql时间和日期函数
- Mysql日期和时间函数
- Mysql日期和时间函数
- Mysql日期和时间函数
- jQuery各种动画
- czl蒟蒻的模板库6——倍增LCA
- Dbutils学习(介绍和入门)
- qt写入文件内容
- error: pathspec '测试2' did not match any file(s) known to git.
- MySQL--日期和时间
- 初学Java:保留小数位数方法
- 汇编语言实验11
- 移动端、服务器端车牌识别
- 二维数组中的查找
- 自定义View倒计时圆
- 第三周 【项目2
- MySQL在python中执行
- czl蒟蒻的模板库7——最长公共子序列