日期时间字段
日期时间类型(datetime
)是一个 64 位整数值,用于在数据库中存储日期和时间。datetime
值的精度由运行时参数DATETIME_PRECISION
决定。
从数值上讲,精度表示每秒的刻度数。DATETIME_PRECISION
的默认值为 1,这意味着数据库将datetime
值存储为自“纪元”(即 1970 年 1 月 1 日 00:00:00 UTC)以来的秒数。datetime
字段的计数制可以在运行时由应用程序更改,范围从 1(用于存储秒数)到 10亿(用于纳秒数)。
Java 的Date
类型使用毫秒制,C# 的Datetime
使用 100 纳秒。因此
需要注意
DATETIME_PRECISION
的值是一个进程级别的参数;所有使用同一数据库的进程必须为 DATETIME_PRECISION
设置相同的值。相应地,从给定进程访问的所有数据库都将具有相同的精度。
日期、时间和日期时间字段上的算术运算
在 SQL 中使用日期、时间或日期时间字段时,如果算术表达式的任何操作数是日期、时间或日期时间类型,那么另一个操作数将转换为日期时间类型,表达式的结果也是日期时间类型。结果的输出格式将取决于原始类型。因此,例如,日期字段“day”可以递增“day + 5”,结果将是日期类型。
但是,请注意,在 SQL 之外,日期和时间字段是 uint4 值,而日期时间字段是 uint8 值。对于这些字段没有定义特殊的“操作”。上述规则仅适用于 SQL。