Flink sql中设置了时区为上海,但是时间还是少了8个小时怎么办?
在flinksql编程里面,已经设置过了时区为上海:
sql的结构如下:
结果在查询的时候,发现时间少了8个小时,如下图:
需要怎么办?
tEnv.getConfig().setLocalTimeZone(ZoneId.of("Asia/Shanghai"));
sql的结构如下:
CREATE TABLE tmp_orders( order_number BIGINT, price DECIMAL(32,2), buyer ROW<first_name STRING, last_name STRING>, order_time TIMESTAMP(3)) WITH ( 'connector' = 'datagen', 'rows-per-second' = '1', 'number-of-rows' = '50' );
结果在查询的时候,发现时间少了8个小时,如下图:

需要怎么办?
发布于:2年前 (2023-08-18) IP属地:四川省
1 个回答
在flink中TIMESTAMP数据类型是不带时区的,因此创建的表结构里面把TIMESTAMP修改为:TIMESTAMP_LTZ即可,这样子设置的时区就生效了。
发布于:2年前 (2023-08-18) IP属地:四川省
我来回答
您需要 登录 后回答此问题!