sql - 从excel导入数据并插入sql表

标签 sql sql-server excel

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

将其作为字符串值导入的原因是您必须能够在同一字段中定义天数。像这样: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")

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

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

关于sql - 从excel导入数据并插入sql表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13450513/

相关文章:

sql - 在多列中排序

mysql - MySQL 查询的最大 CPU 使用率和超过 60 秒的执行

c# - 如何通过比较另一个表来显示剩余数据

sql - 数据库服务器 100%,无原因

c# - 无法使用 ADO.NET 建立与 SQL Server 的连接

mysql - sql 数据库给我这个错误

mysql - 在 SQL 中获取 NULL 将 JOIN 作为结果

excel - 在 Excel 柱形图上显示条形上方的百分比

java - 通过 Jacob 在 Java 应用程序和 Microsoft 应用程序之间进行同步

跨多个工作表的 VBA 宏