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

MariaDB CURRENT_TIME() 函数是一个日期和时间函数,它返回当前的时间,格式为 HH:MM:SS

发布于

MariaDB CURRENT_TIME() 函数是一个日期和时间函数,它返回当前的时间,格式为 HH:MM:SS。该函数可以接受一个可选的参数,用于指定返回的时间的精度,即小数点后的位数。如果没有指定参数,或者参数为 0,则返回的时间没有小数部分。

语法

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

CURRENT_TIME([precision])

其中,precision 是一个整数,表示返回的时间的精度,即小数点后的位数。该参数的取值范围是 0 到 6。如果省略该参数,或者指定为 0,则返回的时间没有小数部分。如果指定为其他值,则返回的时间有相应的小数部分,表示微秒。

实例

下面是一些使用 MariaDB CURRENT_TIME() 函数的实例。

不带参数的 CURRENT_TIME() 函数

在这个实例中,我们使用不带参数的 CURRENT_TIME() 函数,返回当前的时间,没有小数部分。

SELECT CURRENT_TIME();

输出结果如下:

+--------------+
| CURRENT_TIME |
+--------------+
| 20:36:32     |
+--------------+

带参数的 CURRENT_TIME() 函数

在这个实例中,我们使用带参数的 CURRENT_TIME() 函数,返回当前的时间,带有小数部分。我们指定参数为 3,表示返回的时间的精度为 3 位,即毫秒。

SELECT CURRENT_TIME(3);

输出结果如下:

+------------------+
| CURRENT_TIME(3)  |
+------------------+
| 20:36:32.123     |
+------------------+

使用 CURRENT_TIME() 函数作为列的默认值

在这个实例中,我们使用 CURRENT_TIME() 函数作为一个表的列的默认值,表示该列存储的是插入数据的时间。我们创建一个名为 orders 的表,包含三个列:idproductorder_time。其中,order_time 列的默认值为 CURRENT_TIME() 函数。

CREATE TABLE orders (
  id INT PRIMARY KEY,
  product VARCHAR(50),
  order_time TIME DEFAULT CURRENT_TIME()
);

然后,我们向该表插入两条数据,分别是 id = 1, product = 'iPhone 13'id = 2, product = 'iPad Pro'。注意,我们没有指定 order_time 列的值,因此,它会自动使用 CURRENT_TIME() 函数的返回值。

INSERT INTO orders (id, product) VALUES (1, 'iPhone 13');
INSERT INTO orders (id, product) VALUES (2, 'iPad Pro');

最后,我们查询该表的所有数据,可以看到 order_time 列的值是插入数据的时间。

SELECT * FROM orders;

输出结果如下:

+----+-----------+------------+
| id | product   | order_time |
+----+-----------+------------+
|  1 | iPhone 13 | 20:36:32   |
|  2 | iPad Pro  | 20:36:33   |
+----+-----------+------------+

使用 CURRENT_TIME() 函数作为条件筛选数据

在这个实例中,我们使用 CURRENT_TIME() 函数作为条件筛选数据,例如,我们可以查询在某个时间段内下单的订单。我们使用上一个实例中创建的 orders 表,假设我们想要查询在 20:00:00 到 21:00:00 之间下单的订单,我们可以使用如下的 SQL 语句:

SELECT * FROM orders
WHERE order_time BETWEEN '20:00:00' AND '21:00:00';

输出结果如下:

+----+-----------+------------+
| id | product   | order_time |
+----+-----------+------------+
|  1 | iPhone 13 | 20:36:32   |
|  2 | iPad Pro  | 20:36:33   |
+----+-----------+------------+

使用 CURRENT_TIME() 函数与其他日期和时间函数结合

在这个实例中,我们使用 CURRENT_TIME() 函数与其他日期和时间函数结合,例如,我们可以使用 DATE_FORMAT() 函数来格式化 CURRENT_TIME() 函数的返回值,或者使用 ADDTIME() 函数或 SUBTIME() 函数来对 CURRENT_TIME() 函数的返回值进行加减操作。下面是一些示例:

  • 使用 DATE_FORMAT() 函数来格式化 CURRENT_TIME() 函数的返回值,例如,我们可以使用 %r 格式来返回 12 小时制的时间,带有 AM 或 PM 的标识。

    SELECT DATE_FORMAT(CURRENT_TIME(), '%r');
    

    输出结果如下:

    +-----------------------------------+
    | DATE_FORMAT(CURRENT_TIME(), '%r') |
    +-----------------------------------+
    | 08:36:32 PM                       |
    +-----------------------------------+
  • 使用 ADDTIME() 函数或 SUBTIME() 函数来对 CURRENT_TIME() 函数的返回值进行加减操作,例如,我们可以使用 ADDTIME() 函数来给当前的时间加上 1 小时 30 分钟,或者使用 SUBTIME() 函数来给当前的时间减去 2 小时 15 分钟。

    SELECT ADDTIME(CURRENT_TIME(), '01:30:00'),SUBTIME(CURRENT_TIME(), '02:15:00');
    

    输出结果如下:

    +-------------------------------------+-------------------------------------+
    | ADDTIME(CURRENT_TIME(), '01:30:00') | SUBTIME(CURRENT_TIME(), '02:15:00') |
    +-------------------------------------+-------------------------------------+
    | 22:12:40                            | 18:27:40                            |
    +-------------------------------------+-------------------------------------+

相关函数

除了 CURRENT_TIME() 函数,MariaDB 还提供了一些其他的日期和时间函数,用于返回或操作当前的日期和时间,例如:

  • CURRENT_DATE() 函数:返回当前的日期,格式为 YYYY-MM-DD
  • CURRENT_TIMESTAMP() 函数:返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS。该函数可以接受一个可选的参数,用于指定返回的时间的精度,与 CURRENT_TIME() 函数类似。
  • NOW() 函数:与 CURRENT_TIMESTAMP() 函数相同,返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS。该函数也可以接受一个可选的参数,用于指定返回的时间的精度。
  • CURDATE() 函数:与 CURRENT_DATE() 函数相同,返回当前的日期,格式为 YYYY-MM-DD
  • CURTIME() 函数:与 CURRENT_TIME() 函数相同,返回当前的时间,格式为 HH:MM:SS。该函数也可以接受一个可选的参数,用于指定返回的时间的精度。
  • SYSDATE() 函数:返回执行该函数时的日期和时间,格式为 YYYY-MM-DD HH:MM:SS。该函数与 CURRENT_TIMESTAMP() 函数和 NOW() 函数的区别在于,它不会使用事务的开始时间,而是使用每次调用的实际时间。

结论

MariaDB CURRENT_TIME() 函数是一个日期和时间函数,用于返回当前的时间,格式为 HH:MM:SS。该函数可以接受一个可选的参数,用于指定返回的时间的精度,即小数点后的位数。该函数可以用于作为列的默认值,或者作为条件筛选数据,或者与其他日期和时间函数结合使用。除了 CURRENT_TIME() 函数,MariaDB 还提供了一些其他的日期和时间函数,用于返回或操作当前的日期和时间,例如 CURRENT_DATE() 函数,CURRENT_TIMESTAMP() 函数,NOW() 函数,CURDATE() 函数,CURTIME() 函数,和 SYSDATE() 函数。