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

MariaDB TIMESTAMP() 函数用来返回当前的日期时间值,并根据服务器的时区进行调整。

发布于

MariaDB TIMESTAMP() 函数用来返回当前的日期时间值,并根据服务器的时区进行调整。它常被用于记录事件发生的时间、跟踪数据修改历史等场景。

语法

MairaDB TIMESTAMP() 函数的语法如下:

TIMESTAMP(expr)
TIMESTAMP(expr1, expr2)
  • 如果只有一个参数 expr,它将被解释为一个日期时间字符串,函数将尝试将其转换为日期时间值。如果转换失败,则返回 NULL。
  • 如果有两个参数 expr1expr2,则 expr1 被解释为日期时间值,expr2 被解释为时区。函数将返回 expr1 按照指定时区调整后的日期时间值。

该函数返回一个 DATETIMETIMESTAMP 值,具体取决于系统的 SQL 模式。

实例

将字符串转换为日期时间

本示例演示如何使用 TIMESTAMP() 函数将一个字符串转换为日期时间值。

SELECT TIMESTAMP('2023-03-15 09:30:25') AS Datetime;

以下是该语句的输出:

+---------------------+
| Datetime            |
+---------------------+
| 2023-03-15 09:30:25 |
+---------------------+

本实例将字符串 '2023-03-15 09:30:25' 传递给 TIMESTAMP() 函数,函数将其转换为一个日期时间值。

将日期时间值转换为指定时区

本示例演示如何使用 TIMESTAMP() 函数将一个日期时间值转换为指定时区。

SELECT TIMESTAMP('2023-03-14 12:00:00', '+08:00') AS Beijing_Time;

以下是该语句的输出:

+---------------------+
| Beijing_Time        |
+---------------------+
| 2023-03-14 20:00:00 |
+---------------------+

本实例将日期时间值 '2023-03-14 12:00:00' 和时区 '+08:00' 传递给 TIMESTAMP() 函数,函数将日期时间值转换为北京时间 '2023-03-14 20:00:00'

处理无效输入

本示例演示当输入无效时,TIMESTAMP() 函数的行为。

SELECT TIMESTAMP('invalid-date') AS Result;

以下是该语句的输出:

+--------+
| Result |
+--------+
| NULL   |
+--------+

当输入的字符串无法被解析为有效的日期时间值时,TIMESTAMP() 函数返回 NULL。

与其他函数组合使用

本示例演示如何将 TIMESTAMP() 与其他函数组合使用。

DROP TABLE IF EXISTS events;
CREATE TABLE events (event CHAR(20), time TIMESTAMP);
INSERT INTO events VALUES
    ('Meeting', '2023-03-14 09:00:00'),
    ('Presentation', TIMESTAMP('2023-03-14 13:15:00', '+08:00'));

SELECT event, TIMESTAMP(time, '-05:00') AS Event_Time
FROM events;

以下是该语句的输出:

+--------------+---------------------+
| event        | Event_Time          |
+--------------+---------------------+
| Meeting      | 2023-03-14 04:00:00 |
| Presentation | 2023-03-14 16:15:00 |
+--------------+---------------------+

本实例首先创建一个包含事件时间的表,并插入两行测试数据,其中一行使用 TIMESTAMP() 函数将事件时间转换为北京时区。然后,在查询时再次使用 TIMESTAMP() 函数将事件时间转换为东部时区。

相关函数

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

  • MariaDB NOW() 函数用来返回当前的日期时间值。
  • MariaDB SYSDATE() 函数用来返回当前的日期时间值,与 NOW() 的区别在于其不受 SQL 模式的影响。
  • MariaDB FROM_UNIXTIME() 函数用来将 Unix 时间戳转换为日期时间值。
  • MariaDB UNIX_TIMESTAMP() 函数用来将日期时间值转换为 Unix 时间戳。

结论

MariaDB TIMESTAMP() 函数是获取当前日期时间值以及进行时区转换的重要工具。通过该函数,我们可以方便地记录事件发生的准确时间,并根据需要将时间转换为不同的时区格式。本文介绍了该函数的语法、示例以及相关函数,希望对您有所帮助。