Flink 的 TO_TIMESTAMP 函数用的是 Java SimpleDateFormat 来解析时间格式的,所以可以看下
SimpleDateFormat 的 javadoc。
你可以试下 to_timestamp('2020-09-23T20:58:24+08:00',
'yyyy-MM-dd''T''HH:mm:ssXXX') 来解析你的数据。Best, Jark On Wed, 23 Sep 2020 at 21:08, chenxuying <[email protected]> wrote: > flinksql 版本是1.11.2 > source接收到字段是字符串类型的时间 > CREATE TABLE sourceTable ( > `time` STRING > ) WITH( > ... > ); > > > sink如下 > CREATE TABLE sinktable ( > `time1` STRING, > `time` TIMESTAMP(3) > ) WITH ( > 'connector' = 'print' > ); > > > insert语句,不知道怎么正确修改TO_TIMESTAMP默认的格式 > insert into sinktable select > `time`,TO_TIMESTAMP(`time`,'yyyy-MM-ddTHH:mm:ss+08:00') from sourceTable > > > 报错说是format错误 > Caused by: java.lang.IllegalArgumentException: Unknown pattern letter: T > at > java.time.format.DateTimeFormatterBuilder.parsePattern(DateTimeFormatterBuilder.java:1663) > at > java.time.format.DateTimeFormatterBuilder.appendPattern(DateTimeFormatterBuilder.java:1572) > at java.time.format.DateTimeFormatter.ofPattern(DateTimeFormatter.java:534)
