将csv导入sqlite3,但在导入前更改列的类型
我正在使用一个csv,它有许多列。我决定通过sqlite3 shell导入数据,我发现这非常有用:将csv导入sqlite3,但在导入前更改列的类型,csv,sqlite,sqlite-shell,Csv,Sqlite,Sqlite Shell,我正在使用一个csv,它有许多列。我决定通过sqlite3 shell导入数据,我发现这非常有用: .mode CSV .import my_table.csv my_sqlite_table 这为我节省了大量工作,另一方面,由于所有数据都是TEXT 在shell中,是否有任何优雅的方法来首先解决列应该是什么类型,或者用null修复特定的空白值 CSV文件中的值始终是字符串 要更改该值,请导入到临时表中,然后适当修改值: INSERT INTO the_actual_table(a, b, c
.mode CSV
.import my_table.csv my_sqlite_table
这为我节省了大量工作,另一方面,由于所有数据都是TEXT
在shell中,是否有任何优雅的方法来首先解决列应该是什么类型,或者用
null
修复特定的空白值 CSV文件中的值始终是字符串
要更改该值,请导入到临时表中,然后适当修改值:
INSERT INTO the_actual_table(a, b, c)
SELECT a, CAST(b AS INTEGER), nullif(c, '') FROM temp_table;