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
的表,包含三个列:id
,product
和 order_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()
函数。