跳到主要内容

LOCALTIME,LOCALTIMESTAMP

描述

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

该函数与 mysql 中的 localtime 函数 行为一致。

Alias

  • NOW()

语法

LOCALTIME([`<precision>`])
LOCALTIMESTAMP([`<precision>`]))

参数

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

返回值

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

举例


--jdk 17 版本,可以支持六位精度
mysql> select LOCALTIME(),LOCALTIME(3),LOCALTIME(6);
+---------------------+-------------------------+----------------------------+
| LOCALTIME() | LOCALTIME(3) | LOCALTIME(6) |
+---------------------+-------------------------+----------------------------+
| 2025-08-11 11:04:49 | 2025-08-11 11:04:49.535 | 2025-08-11 11:04:49.535992 |
+---------------------+-------------------------+----------------------------+

---输入参数为 NULL,返回 NULL
mysql> select LOCALTIME(NULL);
+-----------------+
| LOCALTIME(NULL) |
+-----------------+
| NULL |
+-----------------+

---不在精度范围内,报错
mysql> select LOCALTIME(-1);
ERROR 1105 (HY000): errCode = 2, detailMessage = Scale of Datetime/Time must between 0 and 6. Scale was set to: -1
mysql> select LOCALTIME(7);
ERROR 1105 (HY000): errCode = 2, detailMessage = Scale of Datetime/Time must between 0 and 6. Scale was set to: 7