我使用kafka-connect
将一个表从MySQL
流到一个Kafka主题中,该表包含一些datetime(6)列类型的列,如1611290740285818
。
当我使用ksqlDB将此时间戳转换为字符串时,使用:
SELECT TIMESTAMPTOSTRING(my_timestamp, 'yyyy-MM-dd HH:mm:ss.SSSSSS','UTC') AS DT6
FROM my_topic
EMIT CHANGES;
显示的字符串实际上是+53114-10-20 14:12:20.712000
,而实际时间应该是2021-01-22 04:45:40.285818
。
有人能告诉我我的查询有什么问题吗?
1条答案
按热度按时间e5nqia271#
艾丹的回答是正确的。您共享的bigint值是微秒,ksqlDB的
TIMESTAMPTOSTRING
函数需要 * 毫秒 *。您指定的时间格式字符串只是告诉ksqlDB如何格式化时间戳,而不是如何解释它。下面是一个示例:通过将微秒除以1000,它们变为毫秒,并且函数的行为与您预期的一样: