我正在从 excel 导入数据并插入到 sql 表中。我的 Excel 文件中的一个字段填充了时间值。我想将该时间值作为字符串导入到我的 sql 表中。当我这样做时,我在我的 sql 表中得到一个奇怪的值。Excel 值为:07:00并将其作为字符串插入 sql 表后,时间值如下所示:0,29166666667。
将其作为字符串值导入的原因是您必须能够在同一字段中定义 Days。像这样:D2 10:30。当我导入这种值时,它会正确插入。
谁能帮忙?
我正在从 excel 导入数据并插入到 sql 表中。我的 Excel 文件中的一个字段填充了时间值。我想将该时间值作为字符串导入到我的 sql 表中。当我这样做时,我在我的 sql 表中得到一个奇怪的值。Excel 值为:07:00并将其作为字符串插入 sql 表后,时间值如下所示:0,29166666667。
将其作为字符串值导入的原因是您必须能够在同一字段中定义 Days。像这样:D2 10:30。当我导入这种值时,它会正确插入。
谁能帮忙?
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")
.
格式代码取决于您的区域设置。Format(myTime, "Long Time")
如果您更喜欢使用 excel 定义的时间格式,您可能想尝试这样的事情。
因为您没有发布任何代码,所以我不确定您如何导入您的 excel 数据。但我想说,获得更好结果的最快方法是设置一个新列,使用TEXT
引用先前时间列的公式,并使用这个新的格式化列作为 sql-db 的输入。