1

我正在使用一个 csv,它有很多列。我决定通过 sqlite3 shell 导入数据,我发现这非常有用:

.mode CSV
.import my_table.csv my_sqlite_table

这为我节省了很多工作,另一方面,它使我无法控制列和值特征,因为所有数据都是TEXT

在 shell 中是否有任何优雅的方法来首先解决列应该是什么类型或用 修复特定的空白值null

4

1 回答 1

2

CSV 文件中的值始终是字符串。

要更改它,请导入临时表,然后适当地修改值:

INSERT INTO the_actual_table(a, b, c)
SELECT a, CAST(b AS INTEGER), nullif(c, '') FROM temp_table;
于 2018-04-03T18:11:19.303 回答