mysql 无法将值转换为时间戳(Nifi中的错误)

gpnt7bae  于 2023-04-05  发布在  Mysql
关注(0)|答案(1)|浏览(162)

我有一个列类型为datetime的mysql目标表。
我的nifi流程类似于convertJsontoSQL -〉putsql(到这个目标表中)。
转换Jsontosql后,我得到一个值'2023-03-28 15:54:28',这是一个有效的时间戳。
但流程失败,出现以下错误:

duetoThevalue of the sqlargs. 14.value is '2023-03-28 15:54:28',

which cannot be converted to a timestamp; routing to failure: java.sql.SQLDataException:

The value of the sql.args. 14.value is '2023-03-28 15:54:28',

which cannot be converted to a timestamp

- Caused by: java. text. ParseException: Unparseable date: "2023-03-28 15:54:28"

我可以使用相同的值“2023-03-28 15:54:28”手动插入到一个示例datetime列中,也可以删除一个带有where子句的记录。
我不明白为什么Nifi仍然无法将其转换为时间戳。
如有任何建议,不胜感激。

njthzxwz

njthzxwz1#

https://nifi.apache.org/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.9.0/org.apache.nifi.processors.standard.PutSQL/
读取属性/ sql.args.N.格式
Date、Time和Timestamp格式都支持根据java. time. format. DateTimeFormatter指定的自定义格式或命名格式('yyyy-MM-dd','ISO_OFFSET_DATE_TIME')。如果未指定,则长值输入应为unix epoch(从1970/1/1开始的毫秒),或Date为**'yyyy-MM-dd'格式的字符串值,Time为'HH:mm:ss. SSS'**
因此,您需要设置属性sql.args.14.format = yyyy-MM-dd HH:mm:ss
作为替代选项-尝试设置sql.args.14.type = 1(CHAR)-在这种情况下,转换将在数据库级别上完成。

相关问题