如何解决QuestDB导入格式为2016-04-26 21:00:00+00的时序数据失败问题?
QuestDB CSV导入时间戳失败的解决办法
你的时间戳格式
2016-04-26 21:00:00+00对应的正确掩码是yyyy-MM-dd HH:mm:ssx,因为x在QuestDB采用的Java DateTimeFormatter规范中,匹配两位数字的小时偏移(不带分钟部分),正好对应+00这种格式。你之前尝试的掩码都存在格式不匹配问题:
yyyy-MM-dd HH:mm:ssX:X匹配单个字符的偏移(如+0)或Z(代表UTC),无法适配两位的+00yyyy-MM-dd HH:mm:ssXX:XX匹配四位数字的偏移(格式为HHMM,如+0000),和你的+00格式不匹配yyyy-MM-dd HH:mm:ss+XX:这种写法错误,掩码无需单独写+,偏移符号会被格式符自动解析
如果Web界面使用上述正确掩码仍无法导入,可采用曲线方案:
- 先将时间戳列以
STRING类型导入目标表 - 执行SQL语句转换列类型:
ALTER TABLE your_table_name ALTER COLUMN timestamp_column_name TYPE TIMESTAMP USING to_timestamp(timestamp_column_name, 'yyyy-MM-dd HH:mm:ssx')
- 先将时间戳列以
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

