MariaDB CURTIME() 函数的基础用法与实例
MariaDB CURTIME()
函数是一个日期和时间函数,用于返回当前时间。
MariaDB CURTIME()
函数是一个日期和时间函数,用于返回当前时间。该函数的返回值的格式为 HH:MM:SS
,其中 HH
是小时,MM
是分钟,SS
是秒。
语法
MariaDB CURTIME()
函数的语法如下:
CURTIME([fsp])
该函数有一个可选的参数 fsp
,用于指定返回值的小数秒部分的精度。fsp
的取值范围是 0 到 6,如果省略,则默认为 0,即不返回小数秒部分。
实例
下面是一些使用 MariaDB CURTIME()
函数的实例。
返回当前时间
在本实例中,我们使用 MariaDB CURTIME()
函数来返回当前时间,不指定 fsp
参数,即不返回小数秒部分。
SELECT CURTIME();
输出结果如下:
+-----------+
| CURTIME() |
+-----------+
| 14:22:01 |
+-----------+
从输出结果可以看出,当前时间是 14 点 22 分 01 秒。
返回当前时间,包含小数秒部分
在本实例中,我们使用 MariaDB CURTIME()
函数来返回当前时间,指定 fsp
参数为 3,即返回小数秒部分的三位。
SELECT CURTIME(3);
输出结果如下:
+--------------+
| CURTIME(3) |
+--------------+
| 14:22:01.123 |
+--------------+
从输出结果可以看出,当前时间是 14 点 22 分 01 秒,小数秒部分是 123 毫秒。
使用 MariaDB CURTIME()
函数作为条件
在本实例中,我们使用 MariaDB CURTIME()
函数作为条件,来查询 events
表中已经开始但还没有结束的事件的信息。
SELECT * FROM events WHERE start_time <= CURTIME() AND end_time > CURTIME();
输出结果如下:
+----+----------+------------+----------+
| id | name | start_time | end_time |
+----+----------+------------+----------+
| 2 | Meeting | 14:00:00 | 15:00:00 |
| 4 | Webinar | 14:15:00 | 14:45:00 |
+----+----------+------------+----------+
从输出结果可以看出,events
表中有两个事件已经开始但还没有结束,分别是会议和网络研讨会。
使用 MariaDB CURTIME()
函数作为默认值
在本实例中,我们使用 MariaDB CURTIME()
函数作为默认值,来创建一个 logs
表,该表包含了日志的编号,内容,以及记录时间的信息。
CREATE TABLE logs (
log_id INT PRIMARY KEY,
log_content VARCHAR(255),
log_time TIME DEFAULT CURTIME()
);
然后,我们向 logs
表中插入一些数据,不指定 log_time
的值,让它使用默认值。
INSERT INTO logs (log_id, log_content) VALUES
(1, 'User logged in'),
(2, 'User updated profile'),
(3, 'User logged out');
最后,我们查询 logs
表中的数据,看看 log_time
的值。
SELECT * FROM logs;
输出结果如下:
+--------+----------------------+----------+
| log_id | log_content | log_time |
+--------+----------------------+----------+
| 1 | User logged in | 14:22:01 |
| 2 | User updated profile | 14:22:02 |
| 3 | User logged out | 14:22:03 |
+--------+----------------------+----------+
从输出结果可以看出,log_time
的值都是当前时间,精确到秒。
使用 MariaDB CURTIME()
函数与 INTERVAL
表达式
在本实例中,我们使用 MariaDB CURTIME()
函数与 INTERVAL
表达式,来计算当前时间加上或减去一定的时间间隔后的时间。
SELECT CURTIME() AS now,
CURTIME() + INTERVAL 1 HOUR AS one_hour_later,
CURTIME() - INTERVAL 30 MINUTE AS half_hour_earlier;
输出结果如下:
+----------+----------------+-------------------+
| now | one_hour_later | half_hour_earlier |
+----------+----------------+-------------------+
| 14:22:01 | 15:22:01 | 13:52:01 |
+----------+----------------+-------------------+
从输出结果可以看出,我们使用 +
或 -
运算符,以及 INTERVAL
表达式,来指定时间间隔的单位和数量,然后与当前时间进行加法或减法运算,得到新的时间。
相关函数
除了 MariaDB CURTIME()
函数外,还有一些与之相关的函数,如下:
MariaDB NOW()
函数:返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS
,也可以指定fsp
参数来返回小数秒部分。MariaDB SYSDATE()
函数:与MariaDB NOW()
函数类似,返回当前日期和时间,但是不受SET TIMESTAMP
语句的影响,也不缓存查询的结果。MariaDB CURRENT_TIMESTAMP()
函数:与MariaDB NOW()
函数等价,返回当前日期和时间,也可以指定fsp
参数来返回小数秒部分。
下面是一个使用这些函数的实例:
SELECT CURTIME(), NOW(), SYSDATE(), CURRENT_TIMESTAMP();
输出结果如下:
+-----------+---------------------+---------------------+---------------------+
| CURTIME() | NOW() | SYSDATE() | CURRENT_TIMESTAMP() |
+-----------+---------------------+---------------------+---------------------+
| 14:22:01 | 2024-02-09 14:22:01 | 2024-02-09 14:22:01 | 2024-02-09 14:22:01 |
+-----------+---------------------+---------------------+---------------------+
从输出结果可以看出,这些函数的返回值都是当前日期和时间,只是格式不同。
结论
MariaDB CURTIME()
函数是一个常用的日期和时间函数,用于返回当前时间。该函数可以指定 fsp
参数来返回小数秒部分的精度。该函数可以作为条件,默认值,或者与 INTERVAL
表达式结合,来实现不同的功能。该函数还有一些与之相关的函数,如 NOW()
,SYSDATE()
,和 CURRENT_TIMESTAMP()
,它们返回当前日期和时间,但是格式或行为有所不同,需要注意区分。