MariaDB UTC_TIMESTAMP() 函数的基础用法与实例

MariaDB UTC_TIMESTAMP() 函数用来获取当前UTC日期和时间。

发布于

MariaDB UTC_TIMESTAMP() 函数用来获取当前 UTC 日期和时间,可以返回 ‘YYYY-MM-DD HH:MM:SS’ 或 YYYYMMDDHHMMSS.uuuuuu 格式的日期时间值,具体格式取决于函数的使用上下文是字符串还是数值。

语法

MariaDB UTC_TIMESTAMP() 函数的语法如下:

UTC_TIMESTAMP()
UTC_TIMESTAMP(precision)

其中 precision 参数用于指定小数秒的位数。

MariaDB UTC_TIMESTAMP() 函数可以返回 ‘YYYY-MM-DD HH:MM:SS’ 或 YYYYMMDDHHMMSS.uuuuuu 格式的日期时间值,具体格式取决于函数的使用上下文是字符串还是数值。

实例

1. 获取当前 UTC 日期和时间

SELECT UTC_TIMESTAMP();

以下是该语句的输出:

+---------------------+
| UTC_TIMESTAMP()     |
+---------------------+
| 2024-03-25 06:27:53 |
+---------------------+

该语句在字符串上下文中使用 UTC_TIMESTAMP() 获取当前 UTC 日期和时间。

2. 获取当前 UTC 日期和时间的数值形式

SELECT UTC_TIMESTAMP() + 0;

以下是该语句的输出:

+---------------------+
| UTC_TIMESTAMP() + 0 |
+---------------------+
|      20240325062806 |
+---------------------+

该语句通过将 UTC_TIMESTAMP() 与 0 相加的方式,将其强制转换为数值上下文,获取格式为 YYYYMMDDHHMMSS 的当前 UTC 日期和时间值。

3. 获取带毫秒的当前 UTC 日期和时间

SELECT UTC_TIMESTAMP(3);

以下是该语句的输出:

+-------------------------+
| UTC_TIMESTAMP(3)        |
+-------------------------+
| 2024-03-25 06:28:17.825 |
+-------------------------+

该实例指定 UTC_TIMESTAMP() 函数的精度为 3,因此返回值包含毫秒部分。

4. 插入带当前 UTC 日期和时间的记录

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY, ts TIMESTAMP);
INSERT INTO test_table (ts) VALUES (UTC_TIMESTAMP());
SELECT * FROM test_table;

以下是该语句的输出:

+----+---------------------+
| id | ts                  |
+----+---------------------+
|  1 | 2024-03-25 06:28:30 |
+----+---------------------+

该实例先创建一个名为 test_table 的表,然后使用 UTC_TIMESTAMP() 函数插入一行带有当前 UTC 日期和时间的记录。

5. 计算时间戳差值

DROP TABLE IF EXISTS test_table;
CREATE TABLE test_table (id INT AUTO_INCREMENT PRIMARY KEY, ts1 TIMESTAMP, ts2 TIMESTAMP);
INSERT INTO test_table (ts1, ts2) VALUES (UTC_TIMESTAMP(), DATE_ADD(UTC_TIMESTAMP(), INTERVAL 2 HOUR));
SELECT TIMESTAMPDIFF(SECOND, ts1, ts2) FROM test_table;

以下是该语句的输出:

+---------------------------------+
| TIMESTAMPDIFF(SECOND, ts1, ts2) |
+---------------------------------+
|                            7200 |
+---------------------------------+

该实例先创建一个名为 test_table 的表,插入两个时间戳记录:第一个是当前 UTC 时间戳,第二个是在第一个基础上加 2 小时。然后使用 TIMESTAMPDIFF 函数计算这两个时间戳之间的秒数差值。

相关函数

以下是几个与 MairaDB UTC_TIMESTAMP() 相关的几个函数:

  • MariaDB CURRENT_TIMESTAMP() 函数用来获取当前日期和时间。
  • MariaDB NOW() 函数用来获取当前日期和时间。
  • MariaDB SYSDATE() 函数用来获取当前日期和时间。

结论

MariaDB UTC_TIMESTAMP() 函数是获取当前 UTC 日期和时间的常用方式,可以根据上下文返回不同的格式和精度。通过结合其他日期时间函数,可以实现诸如计算时间戳差值、日期时间运算等多种操作。