跳到主要内容

SECOND_FLOOR

描述

函数用于将输入的日期时间值向下对齐到指定的秒周期边界,并返回对齐后的日期时间值。

语法

SECOND_FLOOR(<datetime>[, <period>][, <origin_datetime>])

参数

参数说明
<datetime>必填,输入的日期时间值,支持 DATETIME 类型。
<period>可选,表示每个周期由多少秒组成,支持正整数类型(INT)。默认为 1 秒。
<origin_datetime>可选,对齐的时间起点,支持 DATETIME 类型。如果未指定,默认为 0001-01-01T00:00:00。

返回值

  • 返回一个日期时间值,表示输入日期时间向上对齐后的结果。
  • 如果输入的 <datetime> 为 NULL,返回 NULL。
  • 如果输入的 <datetime> 为非法日期(如 0000-00-00T00:00:00),返回 NULL。

举例

只指定参数<datetime>

SELECT SECOND_FLOOR('2025-01-23 12:34:56');
+------------------------------------------------------------+
| second_floor(cast('2025-01-23 12:34:56' as DATETIMEV2(0))) |
+------------------------------------------------------------+
| 2025-01-23 12:34:56 |
+------------------------------------------------------------+

指定参数 <datetime><origin_datetime>

SELECT SECOND_FLOOR('2025-01-23 12:34:56', '2025-01-01 00:00:00');
+----------------------------------------------------------------------------------------------------------+
| second_floor(cast('2025-01-23 12:34:56' as DATETIMEV2(0)), cast('2025-01-01 00:00:00' as DATETIMEV2(0))) |
+----------------------------------------------------------------------------------------------------------+
| 2025-01-23 12:34:56 |
+----------------------------------------------------------------------------------------------------------+

指定参数 <datetime><period>

SELECT SECOND_FLOOR('2025-01-23 12:34:56', 5);
+---------------------------------------------------------------+
| second_floor(cast('2025-01-23 12:34:56' as DATETIMEV2(0)), 5) |
+---------------------------------------------------------------+
| 2025-01-23 12:34:55 |
+---------------------------------------------------------------+

同时指定 <datetime><period><origin_datetime>

SELECT SECOND_FLOOR('2025-01-23 12:34:56', 10, '2025-01-23 12:00:00');
+--------------------------------------------------------------------------------------------------------------+
| second_floor(cast('2025-01-23 12:34:56' as DATETIMEV2(0)), 10, cast('2025-01-23 12:00:00' as DATETIMEV2(0))) |
+--------------------------------------------------------------------------------------------------------------+
| 2025-01-23 12:34:50 |
+--------------------------------------------------------------------------------------------------------------+