跳到主要内容

CURRENT_TIMESTAMP

描述

函数用于获取当前系统时间,返回值为日期时间类型(DATETIME),可以选择性地指定精度以调整返回值的小数秒部分的位数。

别名

  • NOW()

语法

CURRENT_TIMESTAMP([<precision>])

参数

参数说明
<precision>可选参数,表示返回值的小数秒部分的精度。取值范围为 0 到 6。默认为 0, 即不返回小数秒部分。

返回值

  • 返回当前系统时间,类型为 DATETIME
  • 如果指定的 <precision> 超出范围(如为负数或大于 6),函数会返回错误。
  • 如果输入 NULL, 返回 NULL

举例

--不同精度返回结果
select CURRENT_TIMESTAMP(),CURRENT_TIMESTAMP(3),CURRENT_TIMESTAMP(6);
+---------------------+-------------------------+----------------------------+
| now() | now(3) | now(6) |
+---------------------+-------------------------+----------------------------+
| 2025-01-23 11:26:01 | 2025-01-23 11:26:01.771 | 2025-01-23 11:26:01.771000 |
+---------------------+-------------------------+----------------------------+

--输入 NULL,返回 NULL
select CURRENT_TIMESTAMP(NULL);
+-------------------------+
| CURRENT_TIMESTAMP(NULL) |
+-------------------------+
| NULL |
+-------------------------+

--输入不在 精度范围内,抛出错误
select CURRENT_TIMESTAMP(-1);
ERROR 1105 (HY000): errCode = 2, detailMessage = Scale of Datetime/Time must between 0 and 6. Scale was set to: -1

select CURRENT_TIMESTAMP(7);
ERROR 1105 (HY000): errCode = 2, detailMessage = Scale of Datetime/Time must between 0 and 6. Scale was set to: 7