文章目录

最近用 click house时,出现了一个很奇怪的错误:

1
SQL 错误 [62]: ClickHouse exception, code: 62, host: 10.2.20.161, port: 18123; Code: 62, e.displayText() = DB::Exception: Cannot parse expression of type Nullable(String) here: '[{"nodeName" (version 21.3.4.25 (official build))

一开始以为是 字符串里包含什么特殊字符,把 长字符串里的特殊字符全去掉,也还是不行。 后来各种尝试,发现是有两个Datetime类型的字段有问题。 有问题的SQL:

1
INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17','2021-06-17','TEST')

修改方案一:在最后一个 datetime类型的值后面加一个换行,修改成:

1
2
INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17','2021-06-17'
,'TEST')

修改方案二:补全时分秒,修改成:

1
INSERT INTO default.TABLE7 (ID,C01,CREATETIME,UPDATETIME,TITLE) VALUES ('2222','0','2021-06-17 00:00:00','2021-06-17 00:00:00','TEST')

具体的业务,字段特别多,大约70个字段左右。我自己尝试建立一张简单的表,并不会出现这个问题。 所以应该是 clickhouse在 字段数量比较多,SQL较长,且包含时间字段时,才会出现这样的BUG。

文章目录