跳到主要内容

MICROSECOND

描述

MICROSECOND 函数用于从输入的日期时间值中提取微秒部分(即小数点后第六位及以内的数值),返回范围为 0 到 999999。该函数支持处理含微秒精度的 DATETIME 类型,对于精度不足的输入会自动补 0。

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

语法

MICROSECOND(`<datetime>`)

参数

参数说明
<datetime>输入的日期时间值,类型为 DATETIME , datetime格式请查看 datetime 的转换,精度需要大于 0

返回值

返回类型为 INT,返回日期时间值中的微秒部分。取值范围为 0 到 999999。对于精度小于 6 的输入,不足的位数补 0。

  • 若输入的日期时间不含微秒部分(如 '2023-01-01 10:00:00'),返回 0。
  • 若输入为 NULL,返回 NULL。
  • 若输入的日期时间微秒精度小于 6 位,不足的位数自动补 0(例如 12:34:56.123 会解析为 123000 微秒)

举例


--- 提取含 6 位微秒的值
SELECT MICROSECOND(CAST('1999-01-02 10:11:12.000123' AS DATETIME(6)));
+----------------------------------------------------------------+
| MICROSECOND(CAST('1999-01-02 10:11:12.000123' AS DATETIME(6))) |
+----------------------------------------------------------------+
| 123 |
+----------------------------------------------------------------+

---scale 为 4
SELECT MICROSECOND(CAST('1999-01-02 10:11:12.0123' AS DATETIME(4)));
+--------------------------------------------------------------+
| MICROSECOND(CAST('1999-01-02 10:11:12.0123' AS DATETIME(4))) |
+--------------------------------------------------------------+
| 12300 |
+--------------------------------------------------------------+

--- 微秒部分补 0(精度不足 6 位)
SELECT MICROSECOND(CAST('1999-01-02 10:11:12.123' AS DATETIME(6)));
+-------------------------------------------------------------+
| MICROSECOND(CAST('1999-01-02 10:11:12.123' AS DATETIME(6))) |
+-------------------------------------------------------------+
| 123000 |
+-------------------------------------------------------------+

---不带有 scale 的日期时间,则返回 0
SELECT MICROSECOND(CAST('1999-01-02 10:11:12' AS DATETIME(6)));
+---------------------------------------------------------+
| MICROSECOND(CAST('1999-01-02 10:11:12' AS DATETIME(6))) |
+---------------------------------------------------------+
| 0 |
+---------------------------------------------------------+

---输入 NULL,返回 NULL
SELECT MICROSECOND(NULL);
+-------------------+
| MICROSECOND(NULL) |
+-------------------+
| NULL |
+-------------------+