将CSV文件导入cockroachdb,日期时间格式错误

时间:2017-07-17 19:57:05

标签: csv timestamp sql-insert cockroachdb

我使用以下命令将CSV文件导入cockroachdb中的表:

\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, $a2);"; done < sales.csv;

我的csv文件只有两行:

ID, time
14,2013-02-17 05:39:36.710332000

列的数据类型:

first column: NUMBER(10, 0)
second column: TIMESTAMP

我收到以下错误:

syntax error at or near "5"

INSERT INTO sales VALUES (14, 2013-02-17 05:39:36.710332000
                                         ^

根据CockroachDB documentation,我认为我使用了正确的TIMESTAMP格式(YYYY-MM-DD HH24:MI:SSXFF)。

有什么建议吗?

我还尝试在没有毫秒的情况下更改第二列中的数据,例如

2013-02-17 05:39:36

但我得到同样的错误。

1 个答案:

答案 0 :(得分:2)

您需要引用时间戳字符串:

jordan@:26257/test> INSERT INTO derp VALUES (1, 2013-02-17 05:39:36.710332000);
invalid syntax: statement ignored: syntax error at or near "5"
jordan@:26257/test> INSERT INTO sales VALUES(1, '2013-02-17 05:39:36.710332000')
INSERT 1

您也可以修改脚本来执行此操作,如下所示:

\| IFS=","; while read a1 a2; do echo "INSERT INTO sales VALUES ($a1, '$a2');"; done < sales.csv;