从excel导入数据并插入到sql表中

时间:2012-11-19 09:04:31

标签: sql sql-server excel

我从excel导入数据并插入到sql表中。我的Excel文件中的一个字段填充了时间值。我想将该时间值作为字符串导入到我的sql表中。当我这样做时,我在我的SQL表中得到一个奇怪的值。 Excel值为: 07:00 ,在将其作为字符串插入sql表后,时间值如下所示: 0,29166666667

将其作为字符串值导入的原因是您必须能够在同一字段中定义Days。像这样: D2 10:30 。当我导入这种值时,它被正确插入。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

Excel将日期和时间存储为0到0.99999999 + x天的数字值。

0.29166666667就像00.01.1900 07:00:00,在您的情况下似乎是正确的。

因此,在将其用作直接字符串输入之前,您必须使用此值的一些重新格式化或转换。

在VBA中,您可以使用Format(myValue,"DD-MM-YYYY hh:mm:ss")

等效的工作表函数为TEXT(A1,"DD-MM-YYYY hh:mm:ss")

格式代码取决于您的区域设置。如果你不喜欢使用excel定义的时间格式,你可能想尝试这样的Format(myTime, "Long Time")

因为您没有发布任何代码,我不确定您如何导入您的Excel数据。但我想说,获得更好结果的最快方法是设置一个新列,使用TEXT公式引用之前的时间列,并使用这个新的格式化列作为sql-的输入分贝。