CnosDB支持多少种时间戳格式?能否给出对应示例
CnosDB 目前共支持 6类 合法有效的时间戳格式,除默认常用的rfc3339_date_time_string(RFC3339标准格式)外,还有5类可用格式,各格式说明及示例如下:
rfc3339_date_time_string(RFC3339标准格式)
带T分隔符、带时区标识的标准时间格式,是官方推荐的写入格式,不会触发时区解析歧义。
示例:2023-10-15T08:30:45Z(UTC时间)2023-10-15T16:30:45.123+08:00(东八区时间,带3位毫秒)2023-10-15T16:30:45.123456789+08:00(东八区时间,带9位纳秒)无后缀纯数字Unix时间戳
纯数字格式,CnosDB会根据数字长度自动识别精度:10位为秒级、13位为毫秒级、16位为微秒级、19位为纳秒级。
示例:1697330445(秒级,对应UTC 2023-10-15 08:40:45)1697330445123(毫秒级)1697330445123456(微秒级)1697330445123456789(纳秒级)带精度后缀的显式Unix时间戳
数字后直接拼接精度单位后缀,无需依赖长度判断精度,支持的后缀为s(秒)、ms(毫秒)、u(微秒)、ns(纳秒)。
示例:1697330445s1697330445123ms1697330445123456u1697330445123456789ns普通日期时间字符串
以空格替代T作为日期和时间分隔符,不带时区标识,解析时默认使用CnosDB服务端配置的时区计算时间。
示例:2023-10-15 16:30:452023-10-15 16:30:45.123456(带6位微秒)纯日期字符串
仅包含年月日信息,解析后默认对应当日00:00:00,时区同样取服务端配置时区。
示例:2023-10-15相对时间表达式
仅用于查询场景,以当前时间now()为基准加减时间偏移,支持的偏移单位包括ns(纳秒)、u(微秒)、ms(毫秒)、s(秒)、m(分钟)、h(小时)、d(天)、w(周)。
示例:now()(当前服务端时间)now() - 1h(1小时前的时间)now() - 7d(7天前的时间)now() + 30m(30分钟后的时间)
注意:无时区标识的字符串格式解析结果依赖服务端时区配置,跨时区部署场景下优先使用RFC3339格式或带后缀的Unix时间戳,避免时间解析偏差。
内容的提问来源于stack exchange,提问作者xmh

