在 OceanBase 中,SCN_TO_TIMESTAMP 需要乘以 1000,而 TIMESTAMP_TO_SCN 不需要除以 1000 ,其根本原因在于 SCN 与时间戳的单位不同,且函数内部已做单位适配 。
- SCN(System Change Number)是数据库内部用于标识事务顺序的单调递增整数,它本身不直接对应物理时间,但数据库会维护一个 SCN 与时间戳的映射关系。
- TIMESTAMP 是标准的时间戳类型,通常以“秒”或“毫秒”为单位。在 OceanBase 中,TIMESTAMP_TO_SCN 函数接收的是以“秒”为单位的时间戳(如 ‘2024-08-13 16:20:00’),而 SCN_TO_TIMESTAMP 返回的是以“毫秒”为单位的时间戳。
1 个赞
SCN_TO_TIMESTAMP的返回是ms可以理解,但入参为什么*1000呢?
