flinksql 13位时间戳为什么不能用long解析
在Flink SQL中,13位时间戳可以用long类型进行解析。但是,需要注意的是,Flink SQL默认使用的是10位时间戳(秒级),如果要使用13位时间戳(毫秒级),需要在解析时进行特殊处理。
在Flink SQL中,可以使用如下方式将13位时间戳解析为long类型:
SELECT CAST(CAST(1609459200000 AS TIMESTAMP(3)) AS BIGINT) as timestamp;
上述代码将13位时间戳(1609459200000)首先转换为毫秒级的时间戳(TIMESTAMP(3)),然后再将其转换为long类型(BIGINT)。
需要注意的是,在Flink SQL中,使用long类型解析13位时间戳时,需要确保所使用的时间解析函数和类型转换函数能够正确处理毫秒级时间戳。如果使用的是10位时间戳(秒级),则可以直接使用long类型解析。
原文地址: https://www.cveoy.top/t/topic/i8vM 著作权归作者所有。请勿转载和采集!