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

MariaDB SECOND() 函数用来从 TIME 或 DATETIME 值中提取秒部分。

发布于

MariaDB SECOND() 函数用来从 TIME 或 DATETIME 值中提取秒部分。它常用于需要获取时间中秒数部分的场景。

语法

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

SECOND(time)
  • time:一个 TIME 或 DATETIME 类型的值,可以是字面值,也可以是一个返回 TIME 或 DATETIME 值的表达式。

该函数返回一个介于 0 到 59 之间的整数值,表示输入时间值中的秒数。如果参数为 NULL,函数返回 NULL。

实例

从 TIME 值中提取秒数

此示例展示如何从 TIME 值中提取秒数。

SELECT SECOND('10:05:23');

以下是该语句的输出:

+--------------------+
| SECOND('10:05:23') |
+--------------------+
|                 23 |
+--------------------+

这里从时间值 10:05:23 中提取出秒数 23。

从 DATETIME 值中提取秒数

此示例展示如何从 DATETIME 值中提取秒数。

SELECT SECOND('2023-03-20 15:25:45');

以下是该语句的输出:

+-------------------------------+
| SECOND('2023-03-20 15:25:45') |
+-------------------------------+
|                            45 |
+-------------------------------+

这里从日期时间值 2023-03-20 15:25:45 中提取出秒数 45。

从查询结果中提取秒数

此示例展示如何从查询结果中的 DATETIME 值提取秒数。

DROP TABLE IF EXISTS datetime_test;
CREATE TABLE datetime_test (dt DATETIME);
INSERT INTO datetime_test VALUES ('2023-04-15 09:30:00'), ('2023-04-15 10:45:25'), ('2023-04-15 11:00:59');

SELECT dt, SECOND(dt) FROM datetime_test;

以下是该语句的输出:

+---------------------+------------+
| dt                  | SECOND(dt) |
+---------------------+------------+
| 2023-04-15 09:30:00 |          0 |
| 2023-04-15 10:45:25 |         25 |
| 2023-04-15 11:00:59 |         59 |
+---------------------+------------+

这里从表中查询出的 DATETIME 值中分别提取出秒数部分。

将查询结果与秒数比较

此示例展示如何将查询结果与秒数进行比较。

DROP TABLE IF EXISTS time_test;
CREATE TABLE time_test (t TIME);
INSERT INTO time_test VALUES ('10:20:35'), ('11:45:12'), ('15:30:00');

SELECT t,
    CASE
        WHEN SECOND(t) < 30 THEN 'Early'
        ELSE 'Late'
    END AS category
FROM time_test;

以下是该语句的输出:

+----------+----------+
| t        | category |
+----------+----------+
| 10:20:35 | Late     |
| 11:45:12 | Early    |
| 15:30:00 | Early    |
+----------+----------+

这里根据 SECOND(t) 返回值与 30 进行比较,如果小于 30,则为 ‘Early’,否则为 ‘Late’。

使用秒数构建新时间值

此示例展示如何使用秒数构建新的时间值。

SELECT MAKETIME(8, 30, 15);

以下是该语句的输出:

+---------------------+
| MAKETIME(8, 30, 15) |
+---------------------+
| 08:30:15            |
+---------------------+

这里使用 MAKETIME() 函数将小时 8、分钟 30 和秒 15 构建成一个新的时间值。

相关函数

以下是几个与 MariaDB SECOND() 函数相关的函数:

  • MariaDB HOUR() 函数用来从 TIME 或 DATETIME 值中提取小时部分。
  • MariaDB MINUTE() 函数用来从 TIME 或 DATETIME 值中提取分钟部分。
  • MariaDB MAKETIME() 函数用来根据指定的小时、分钟和秒创建一个时间值。
  • MariaDB TIME_FORMAT() 函数用来格式化输出时间值的格式。

结论

MariaDB SECOND() 函数是一个非常实用的函数,可以从时间值中提取出秒数部分。它在需要对时间进行分析和处理时非常有用。通过了解该函数的用法和相关实例,我们可以更好地利用该函数来处理时间相关的数据。