MariaDB CURRENT_TIMESTAMP() 函数的基础用法与实例
MariaDB CURRENT_TIMESTAMP()
函数是一个日期和时间函数,它返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS
。
MariaDB CURRENT_TIMESTAMP()
函数是一个日期和时间函数,它返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS
。该函数可以接受一个可选的参数,用于指定返回的时间的精度,即小数点后的位数。如果没有指定参数,或者参数为 0,则返回的时间没有小数部分。
语法
MariaDB CURRENT_TIMESTAMP()
函数的语法如下:
CURRENT_TIMESTAMP([precision])
其中,precision
是一个整数,表示返回的时间的精度,即小数点后的位数。该参数的取值范围是 0 到 6。如果省略该参数,或者指定为 0,则返回的时间没有小数部分。如果指定为其他值,则返回的时间有相应的小数部分,表示微秒。
实例
下面是一些使用 MariaDB CURRENT_TIMESTAMP()
函数的实例。
不带参数的 CURRENT_TIMESTAMP() 函数
在这个实例中,我们使用不带参数的 CURRENT_TIMESTAMP()
函数,返回当前的日期和时间,没有小数部分。
SELECT CURRENT_TIMESTAMP();
输出结果如下:
+---------------------+
| CURRENT_TIMESTAMP |
+---------------------+
| 2024-02-07 20:36:32 |
+---------------------+
带参数的 CURRENT_TIMESTAMP() 函数
在这个实例中,我们使用带参数的 CURRENT_TIMESTAMP()
函数,返回当前的日期和时间,带有小数部分。我们指定参数为 4,表示返回的时间的精度为 4 位,即十万分之一秒。
SELECT CURRENT_TIMESTAMP(4);
输出结果如下:
+--------------------------+
| CURRENT_TIMESTAMP(4) |
+--------------------------+
| 2024-02-07 20:36:32.1234 |
+--------------------------+
使用 CURRENT_TIMESTAMP() 函数作为列的默认值
在这个实例中,我们使用 CURRENT_TIMESTAMP()
函数作为一个表的列的默认值,表示该列存储的是插入数据的日期和时间。我们创建一个名为 users
的表,包含三个列:id
,name
和 created_at
。其中,created_at
列的默认值为 CURRENT_TIMESTAMP()
函数。
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
created_at DATETIME DEFAULT CURRENT_TIMESTAMP()
);
然后,我们向该表插入两条数据,分别是 id = 1, name = 'Alice'
和 id = 2, name = 'Bob'
。注意,我们没有指定 created_at
列的值,因此,它会自动使用 CURRENT_TIMESTAMP()
函数的返回值。
INSERT INTO users (id, name) VALUES (1, 'Alice');
INSERT INTO users (id, name) VALUES (2, 'Bob');
最后,我们查询该表的所有数据,可以看到 created_at
列的值是插入数据的日期和时间。
SELECT * FROM users;
输出结果如下:
+----+-------+---------------------+
| id | name | created_at |
+----+-------+---------------------+
| 1 | Alice | 2024-02-07 20:36:32 |
| 2 | Bob | 2024-02-07 20:36:33 |
+----+-------+---------------------+
使用 CURRENT_TIMESTAMP() 函数作为条件筛选数据
在这个实例中,我们使用 CURRENT_TIMESTAMP()
函数作为条件筛选数据,例如,我们可以查询在今天创建的用户。我们使用上一个实例中创建的 users
表,假设我们想要查询在 2024-02-07 创建的用户,我们可以使用如下的 SQL 语句:
SELECT * FROM users
WHERE DATE(created_at) = '2024-02-07';
输出结果如下:
+----+-------+---------------------+
| id | name | created_at |
+----+-------+---------------------+
| 1 | Alice | 2024-02-07 20:36:32 |
| 2 | Bob | 2024-02-07 20:36:33 |
+----+-------+---------------------+
使用 CURRENT_TIMESTAMP() 函数与其他日期和时间函数结合
在这个实例中,我们使用 CURRENT_TIMESTAMP()
函数与其他日期和时间函数结合,例如,我们可以使用 DATE_ADD()
函数或 DATE_SUB()
函数来对 CURRENT_TIMESTAMP()
函数的返回值进行加减操作,或者使用 EXTRACT()
函数或 DATE_PART()
函数来提取 CURRENT_TIMESTAMP()
函数的返回值的某个部分。下面是一些示例:
- 使用
DATE_ADD()
函数或DATE_SUB()
函数来对CURRENT_TIMESTAMP()
函数的返回值进行加减操作,例如,我们可以使用DATE_ADD()
函数来给当前的日期和时间加上 1 天 2 小时,或者使用DATE_SUB()
函数来给当前的日期和时间减去 3 天 4 小时。
SELECT DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL '1 DAY 2 HOUR');
SELECT DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '3 DAY 4 HOUR');
输出结果如下:
+--------------------------------------------------------+
| DATE_ADD(CURRENT_TIMESTAMP(), INTERVAL '1 DAY 2 HOUR') |
+--------------------------------------------------------+
| 2024-02-08 22:36:32 |
+--------------------------------------------------------+
+--------------------------------------------------------+
| DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL '3 DAY 4 HOUR') |
+--------------------------------------------------------+
| 2024-02-04 16:36:32 |
+--------------------------------------------------------+
- 使用
EXTRACT()
函数或DATE_PART()
函数来提取CURRENT_TIMESTAMP()
函数的返回值的某个部分,例如,我们可以使用EXTRACT()
函数来提取当前的日期和时间的年份,月份,或者星期,或者使用DATE_PART()
函数来提取当前的日期和时间的小时,分钟,或者秒。
SELECT EXTRACT(YEAR FROM CURRENT_TIMESTAMP());
SELECT EXTRACT(MONTH FROM CURRENT_TIMESTAMP());
SELECT EXTRACT(WEEK FROM CURRENT_TIMESTAMP());
SELECT DATE_PART('hour', CURRENT_TIMESTAMP());
SELECT DATE_PART('minute', CURRENT_TIMESTAMP());
SELECT DATE_PART('second', CURRENT_TIMESTAMP());
输出结果如下:
+----------------------------------------+
| EXTRACT(YEAR FROM CURRENT_TIMESTAMP()) |
+----------------------------------------+
| 2024 |
+----------------------------------------+
+-----------------------------------------+
| EXTRACT(MONTH FROM CURRENT_TIMESTAMP()) |
+-----------------------------------------+
| 2 |
+-----------------------------------------+
+----------------------------------------+
| EXTRACT(WEEK FROM CURRENT_TIMESTAMP()) |
+----------------------------------------+
| 6 |
+----------------------------------------+
+----------------------------------------+
| DATE_PART('hour', CURRENT_TIMESTAMP()) |
+----------------------------------------+
| 20 |
+----------------------------------------+
+------------------------------------------+
| DATE_PART('minute', CURRENT_TIMESTAMP()) |
+------------------------------------------+
| 36 |
+------------------------------------------+
+------------------------------------------+
| DATE_PART('second', CURRENT_TIMESTAMP()) |
+------------------------------------------+
| 32 |
+------------------------------------------+
相关函数
除了 CURRENT_TIMESTAMP()
函数,MariaDB 还提供了一些其他的日期和时间函数,用于返回或操作当前的日期和时间,例如:
CURRENT_DATE()
函数:返回当前的日期,格式为YYYY-MM-DD
。CURRENT_TIME()
函数:返回当前的时间,格式为HH:MM:SS
。该函数可以接受一个可选的参数,用于指定返回的时间的精度,与CURRENT_TIMESTAMP()
函数类似。NOW()
函数:与CURRENT_TIMESTAMP()
函数相同,返回当前的日期和时间,格式为YYYY-MM-DD HH:MM:SS
。该函数也可以接受一个可选的参数,用于指定返回的时间的精度。CURDATE()
函数:与CURRENT_DATE()
函数相同,返回当前的日期,格式为YYYY-MM-DD
。CURTIME()
函数:与CURRENT_TIME()
函数相同。
结论
MariaDB CURRENT_TIMESTAMP()
函数是一个日期和时间函数,用于返回当前的日期和时间,格式为 YYYY-MM-DD HH:MM:SS
。该函数可以接受一个可选的参数,用于指定返回的时间的精度,即小数点后的位数。该函数可以用于作为列的默认值,或者作为条件筛选数据,或者与其他日期和时间函数结合使用。除了 CURRENT_TIMESTAMP()
函数,MariaDB 还提供了一些其他的日期和时间函数,用于返回或操作当前的日期和时间,例如 CURRENT_DATE()
函数,CURRENT_TIME()
函数,NOW()
函数,CURDATE()
函数,CURTIME()
函数,和 SYSDATE()
函数。