【发布时间】: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