我正在编写一系列SQL脚本来导入CSV格式的大型数据集。我知道语法:
STR_TO_DATE('1/19/2013 5:11:28 PM', '%c/%e/%Y %l:%i:%s %p')
将正确转换传入的日期/时间字符串,如下所示:
2013-01-19 17:11:28
我带来的一个数据集有240,000条记录,其中包含78个字段/列,其中至少有16列是DATETIME字段。 我将使用不同的数据集定期执行此导入。 对于每次导入,我都会重命名表进行备份,并从干净,空的新表开始。 我的问题是:就最佳实践而言,哪种方式更好地采取进口方式?
我认为我可以编写脚本来使用任何一种方法,但我正在寻求关于哪种方法“更好”的反馈。
答案 0 :(得分:0)
您可以在几个简单的传递中转换所有列:
VARCHAR
列中。ALTER TABLE
以正确的DATE
或DATETIME
格式创建日期列。UPDATE TABLE
进行从原始列到DATETIME
列的转换。另一种方法是在导入之前对CSV文件进行预处理,然后执行所有这些操作。