【问题标题】:Convert a string of date in dd/mm/yyyy format to a date column in SQL Server将 dd/mm/yyyy 格式的日期字符串转换为 SQL Server 中的日期列
【发布时间】:2016-06-06 04:57:33
【问题描述】:

我有一个 Excel 表,其中包含格式为 dd/mm/yyyy 的日期。现在,当我将它导入 SQL Server 2008 时,它会将其作为 varchar() 列。我如何能够将该 varchar() 更新或转换为日期时间。

注意:Convert()Datepart()Alter Column 不起作用。任何想法 如何从该字符串中提取日期、月份和年份?

欢迎提出任何建议。

Download SpreadSheet From Here

您会注意到某些日期的排列方式与其他日期不同。左对齐的日期作为 varchar() 导入,而右对齐的日期为 null。

请有人尝试导入它并检查它是否真实。

注意 - 我使用的是金山软件的电子表格,而不是 MS Excel。

【问题讨论】:

  • 有什么想法吗?好的猜测,一个 Excel 工作表可能与自动管道不同,但 Excel 在单元格上有类型/格式的概念,因此它可能最适合在 Excel 级别上进行调整。您是在使用 SQL Server 导入和导出向导,还是导出到 CSV,或者......(也许其他人已经清楚了,但对我来说不是)。您尝试的内容类似于 SQL 级别的内容,好像无法进行 Excel 转换,然后可以尝试 SET DATEFORMAT dmy 或类似的内容,例如。建议在Convert Varchar Column to Datetime format - SQL Server?
  • 将单元格格式化为yyyymmdd,它们应该可以毫无问题地导入SQL 2008。
  • @Dilettant 非常感谢您的建议。
  • @Jeeped 我试过了,但我不明白为什么 excel 没有转换它。
  • 也许在excel中点击这样一个单元格并打开格式单元格对话框,观察“输入字段”中显示的值,这在excel级别应该是可行的......然后它将作为@ Jeeped 建议(我无权访问这样的数据库。

标签: excel sql-server-2008 date datetime


【解决方案1】:

在将日期列导入数据库之前,您必须在 excel 中应用自定义格式。更改您的日期列在数据库中有日期时间。应用此自定义格式后,您可以直接将数据导入数据库表。

查看示例屏幕截图。

【讨论】:

  • 你能在我的工作表上试试这个方法吗?
猜你喜欢
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-19
  • 1970-01-01
  • 1970-01-01
  • 2016-09-29
相关资源
最近更新 更多