一、 时间、日期获取

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--日期和时间相关推荐

  1. MySQL日期与时间函数

    MySQL日期与时间函数 MySQL服务器中的三种时区设置: ①系统时区-保存在系统变量system_time_zone ②服务器时区-保存在全局系统变量global.time_zone ③每个客户端 ...

  2. MySQL日期和时间函数的用法及使用举例

    MySQL日期和时间函数的用法及使用举例 MySQL提供了用于处理日期和时间的相关函数.现对这些函数的功能及用法进行介绍并举例. 创建数据表emp并输入数据: create table emp(emp ...

  3. mysql日期与时间查询语句:查询当年、查询本年、查询当月、查询本周

    mysql日期与时间查询语句:查询当年.查询本年.查询当月.查询本周 select sum(1) as years, (select sum(1) from `表名` where date_forma ...

  4. mysql日期函数,时间函数大全

    mysql获取当前时间,日期函数 获得当前日期函数    date(now()) 获得当前时间函数    time(now()) 获得当前日期+时间(date + time)函数:sysdate() ...

  5. MySQL日期当前时间加月数

    MySQL日期当前时间加月数 SQL 日期: 当我们处理日期时,最难的任务恐怕是确保所插入的日期的格式,与数据库中日期列的格式相匹配. 只要数据包含的只是日期部分,运行查询就不会出问题.但是,如果涉及 ...

  6. mysql 创建时间类型,MySQL日期和时间类型

    搜索热词 MysqL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格 ...

  7. mysql 日期_「5」学习MySQL日期与时间类型发现:要养成注重细节的习惯

    在前面的学习中我们提到过字段类型这个概念,本篇的主题就是来讲一种常用而相对复杂的类型:日期与时间. MySQL中表示日期与时间的数据类型有很多种,但主要的不外乎下面五种: 记住上面表中的"范 ...

  8. mysql日期和时间类型_MySQL日期和时间类型

    MySQL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格式:YYY ...

  9. MySQL日期和时间类型

    MySQL中存储日和和时间,使用日期和时间类型. 提供的包括YEAR.DATE.TIME.DATETIME和TIMESTAMP. YEAR 占用:1字节 取值范围:1901~2155 日期格式:YYY ...

  10. php mysql 日期时间_php Mysql日期和时间函数集合

    收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format) 根据format字符串格式化date值.下列修饰符可以被用在format字符串中: %M 月名字(J ...

最新文章

  1. 《嵌入式Linux与物联网软件开发——C语言内核深度解析》一第1章 C语言与内存1.1 引言...
  2. 小型可编程电源:WUZHI WZ5005
  3. linux安装jdk和tomcat命令
  4. Spring Integration 4.3.10 发布,Spring 消息通信
  5. 《SolidWorks 2016中文版机械设计从入门到精通》——1.10 范例
  6. 如何实现 OpenAPI 多语言 SDK 开发?
  7. Android_(菜单)选项菜单
  8. IOS9+基础之警报框弹出和操作表弹出
  9. 应对「高并发」的思路
  10. 进程比线程更多资源_为什么我们不应该使用比我们需要更多的线程
  11. loj2245 [NOI2014]魔法森林 LCT
  12. Java异常处理throws/throw
  13. Linux搜狗输入法候选词乱码
  14. Python菜鸟快乐游戏编程_pygame
  15. 继续学习-CSS3页面美化之静态美化
  16. Sams-Net: A Sliced Attention-based Neural Network for Music Source Separation论文笔记
  17. 大厂面试Redis:缓存雪崩、缓存穿透、缓存击穿
  18. 终身机器学习(Lifelong Machine Learning)综述
  19. 2015年1月9日XX大学XX学院考试题
  20. 关于QQ开心农场外挂 开发

热门文章

  1. keras中的目标函数和优化函数
  2. 一篇文章学会使用 CompletableFuture(JDK9)
  3. HDU 6555 The Fool
  4. 自建cdn搭建_自建CDN
  5. 乐鑫esp8266学习rtos3.0笔记:仅1M flash 的安信可 ESP-01S 模块,如何二次开发?如何对其 OTA 远程升级固件!
  6. uniApp运行到微信小程序
  7. 工欲善其事,必先利其器之-mac下使用zsh
  8. 安全运维到安全运营的转变
  9. 基于vi构建强大的IDE
  10. 什么是前端模块化?为什么要进行模块化开发?前端技术文章分享