在 MySQL 中处理日期和时间 - 第三章节
重要的函数
在本系列关于日期和时间的前两部分中,我们介绍了 MySQL 的五种时态数据类型。现在是时候将注意力转移到 MySQL 的许多面向日期或时间的函数了。
获取当前日期和时间
早在 2021 年 5 月,我们就从如何获取当前日期和时间开始,介绍了 SQL Server 的一些值得注意的日期和时间函数。它为此提供了 GETDATE() 函数。而 MySQL 的等效函数简称为 NOW()。在 Navicat for MySQL 16 中,我们可以在不连接数据库的情况下调用此函数,因为我们没有选择任何表列:
第 2 部分中提到,TIMESTAMP 类型类似于 DATETIME,但通常用于跟踪记录的更改。若要获取当前日期和时间作为 TIMESTAMP,我们可以使用 current_timestamp() 函数。这是它的输出:
获取没有时间的当前日期
如果你只想在 MySQL 中获取当前日期,你可以使用 curdate() 或 current_date() 函数。系统变量 current_date 也可以。无论如何,这三个都以 YYYY-MM-DD 格式给出最新日期:
仅获取当前时间
同样,我们可以使用 curtime() 或 current_time() 函数以及 current_time 系统变量来获取 MySQL 中的当前时间。这些都以 HH:MM:SS 格式给出了最新时间:
分析各个日期部分
SQL Server 提供了通用的 DATEPART() 函数来提取日期时间的一部分。而 MySQL 提供了等效的 EXTRACT() 函数。与 SQL Server 函数类似,EXTRACT() 接受 part单位和 date:
EXTRACT(part FROM date)
以下是所有有效的 part 值:
- MICROSECOND
- SECOND
- MINUTE
- HOUR
- DAY
- WEEK
- MONTH
- QUARTER
- YEAR
- SECOND_MICROSECOND
- MINUTE_MICROSECOND
- MINUTE_SECOND
- HOUR_MICROSECOND
- HOUR_SECOND
- HOUR_MINUTE
- DAY_MICROSECOND
- DAY_SECOND
- DAY_MINUTE
- DAY_HOUR
- YEAR_MONTH
在撰写本文时是 2 月,所以以下调用 EXTRACT() 产生的值为“2”:
如以下查询所示,当前是整点 43 分钟:
额外的日期分析功能
是否难以记住所有 part 单位?没关系,因为 MySQL 提供了单独的函数来分析日期和时间。
若要从日期时间值分析日期或时间,分别有 DATE() 和 TIME() 函数:
若要将日期拆分为其组成部分,我们可以使用 YEAR()、MONTH() 和 DAYOFMONTH()(或 DAY())函数:
时间部分也有自己的函数:分别为 HOUR()、MINUTE() 和 SECOND():
时间部分也有自己的函数:分别为 HOUR()、MINUTE() 和 SECOND():
在 MySQL 中,有很多方法可以从单独的日期和时间部分创建日期时间,足以为他们编写独立的文章。现在,让我们看一下创建日期的一种方法。MAKEDATE() 函数返回给定 year和 dayofyear 的日期。以下是一个例子:
预告
本文探索了 MySQL 的许多面向日期或时间的函数。在下一部分中,我们将介绍在 MySQL 中创建日期和时间的其他一些方法。如果你想试一下 Navicat 16,你可以在这里下载 14 天试用版。
相关文章
- 报错:MySQL Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'
- mysql的存储过程
- php mysql
- mysql远程连接 Host * is not allowed to connect to this MySQL server
- 在 MySQL 中处理日期和时间 - 第四章节
- 在 MySQL 中处理日期和时间 - 第五章节
- 优酷土豆资深工程师:MySQL高可用之MaxScale与MHA
- How can you determine how much disk space a particular MySQL table is taking up?
- 【MySQL】如何向mysql数据库插入当前时间
- 【mysql报错】ERROR 2002 (HY000): Can‘t connect to local MySQL server through socket ‘/tmp/mysql.sock‘
- .NET/Mysql-petatoco连接mysql数据库
- mysql 基本数据类型
- 基于Java+MySQL实现(Web)半自动标注系统【100010422】
- 转 mysql spool_用MySQL实现类似Oracle SPOOL的功能
- mysql 消耗CPU 异常高
- MySQL基础之 AND和OR运算符
- Java学习-006-三种数据库连接 MySQL、Oracle、sqlserver
- Qt 连接MySQL数据库(很多相关文章)
- Mysql_mysql force Index 强制索引
- Mysql日期函数说明
- 【转】Mysql学习---MySQL悲观锁中的排它锁
- Amoeba for MySQL 非常好用的mysql集群软件
- mysql存储过程、函数和触发器的创建 [转]
- MySQL 基础查询
- Mac - Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- 【MySql 】is not allowed to connect to this MySql server 无法访问远程MySQL数据库
- MySQL - 慢查询优化