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服务器中的三种时区设置: ①系统时区-保存在系统变量system_time_zone ②服务器时区-保存在全局系统变量global.time_zone ③每个客户端 ...
- MySQL日期和时间函数的用法及使用举例
MySQL日期和时间函数的用法及使用举例 MySQL提供了用于处理日期和时间的相关函数.现对这些函数的功能及用法进行介绍并举例. 创建数据表emp并输入数据: create table emp(emp ...
- mysql日期与时间查询语句:查询当年、查询本年、查询当月、查询本周
mysql日期与时间查询语句:查询当年.查询本年.查询当月.查询本周 select sum(1) as years, (select sum(1) from `表名` where date_forma ...
- mysql日期函数,时间函数大全
mysql获取当前时间,日期函数 获得当前日期函数 date(now()) 获得当前时间函数 time(now()) 获得当前日期+时间(date + time)函数:sysdate() ...
- MySQL日期当前时间加月数
MySQL日期当前时间加月数 SQL 日期: 当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配. 只要数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及 ...
- mysql 创建时间类型,MySQL日期和时间类型
搜索热词 MysqL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格 ...
- mysql 日期_「5」学习MySQL日期与时间类型发现:要养成注重细节的习惯
在前面的学习中我们提到过字段类型这个概念,本篇的主题就是来讲一种常用而相对复杂的类型:日期与时间. MySQL中表示日期与时间的数据类型有很多种,但主要的不外乎下面五种: 记住上面表中的"范 ...
- mysql日期和时间类型_MySQL日期和时间类型
MySQL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格式:YYY ...
- MySQL日期和时间类型
MySQL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格式:YYY ...
- php mysql 日期时间_php Mysql日期和时间函数集合
收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format) 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(J ...
最新文章
- 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一第1章 C语言与内存1.1 引言...
- 小型可编程电源:WUZHI WZ5005
- linux安装jdk和tomcat命令
- Spring Integration 4.3.10 发布,Spring 消息通信
- 《SolidWorks 2016中文版机械设计从入门到精通》——1.10 范例
- 如何实现 OpenAPI 多语言 SDK 开发?
- Android_(菜单)选项菜单
- IOS9+基础之警报框弹出和操作表弹出
- 应对「高并发」的思路
- 进程比线程更多资源_为什么我们不应该使用比我们需要更多的线程
- loj2245 [NOI2014]魔法森林 LCT
- Java异常处理throws/throw
- Linux搜狗输入法候选词乱码
- Python菜鸟快乐游戏编程_pygame
- 继续学习-CSS3页面美化之静态美化
- Sams-Net: A Sliced Attention-based Neural Network for Music Source Separation论文笔记
- 大厂面试Redis:缓存雪崩、缓存穿透、缓存击穿
- 终身机器学习(Lifelong Machine Learning)综述
- 2015年1月9日XX大学XX学院考试题
- 关于QQ开心农场外挂 开发