【问题标题】:SQL Server 2012 Failure: when Importing flat file and DATES are in FORMAT of YYYY.M.DDSQL Server 2012 失败:当导入平面文件和日期为 YYYY.M.DD 格式时
【发布时间】:2013-07-09 00:52:09
【问题描述】:

帮助!这些日期格式(YYYY.M.DD)已经有大量数据,所以我无法修改数据。有简单的解决方法吗?当我目前尝试将当前日期作为“日期”字段导入时,我遇到了转换问题。

我使用 Tableau 作为覆盖,它正确识别日期,没问题。我能做什么?

【问题讨论】:

  • 先导入一个 varchar 列(例如,一个临时表),然后在将它们移动到真实表之前执行转换。
  • 问题必须 表明对正在解决的问题的基本理解。告诉我们您尝试过什么,为什么它不起作用,以及它应该如何工作。另见:Stack Overflow question checklist
  • 问题主要在于 SQL Server 无法识别 (YYYY.M.DD) 的日期格式。有什么办法吗?
  • 这是 SQL Server 吐出的 SQL 代码:CREATE TABLE [dbo].[20130421] ( [MEMID] bigint, [TRANSACTION_DATE] datetime ) 我需要将日期从 YYYY.M.DD 转换为 SQL (Server) 可以识别的日期。首次导入此数据时如何更改代码?

标签: sql sql-server database sql-server-2008 database-schema


【解决方案1】:

您可以使用程序员编辑器或 sed(如果您安装了 Cygwin 工具)对日期字符串进行正则表达式替换,因为该模式非常独特(您需要做的就是将句点替换为破折号进行批量导入,我假设您正在尝试这样做)。

如果不这样做,是否有适用于 Tableau 的 OleDB 驱动程序?您可以将平面文件导入 Tableau,然后从那里导入 SQL Server...

【讨论】:

  • 是否有任何替代数据类型可以识别 YYYY.M.DD 日期格式?或者我可以将它作为文本流导入到 MYSQL 中,然后在我从 MySQL 中提取数据时让 Tableau 操心?
  • 我怀疑将其导入为 varchar 而不是键入的日期可能会起作用:进行试点测试(并让我们知道它是如何工作的)。
猜你喜欢
  • 2019-06-04
  • 2018-02-13
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多