【问题标题】:BigQuery upload date error from csv file来自 csv 文件的 BigQuery 上传日期错误
【发布时间】:2016-10-29 12:27:49
【问题描述】:

我一直在尝试从 csv 文件上传带有日期的表格,但我不断收到有关日期类型的错误,如下所示:

Errors:
Too many errors encountered. (error code: invalid)
query: Invalid date: '2010-06-31' (error code: invalidQuery)

所以它在抱怨 2010-06-31。我检查了参考,它说:

日期类型

名称 说明 DATE 表示逻辑日历日期。值范围 在 1 年和 9999 年之间,包括 1 年和 9999 年。 DATE 类型代表一个 逻辑日历日期,独立于时区。 DATE 值不 表示特定的 24 小时时间段。相反,给定的 DATE 值 表示不同的 24 小时时段 时区,并且在日光期间可能代表更短或更长的一天 节省时间转换。要表示绝对时间点,请使用 时间戳。

规范格式

'YYYY-[M]M-[D]D' YYYY:四位数年份 [M]M:一位或两位数月份 [D]D:一位或两位数的日期

https://cloud.google.com/bigquery/sql-reference/data-types#date-type

上面写着 YYYY-[M]M-[D]D,所以我认为 2010-06-31 是正确的,但仍然出现错误。

我的行在 csv 文件中如下所示:

Regular Season,2010-06-31,Chicago,Road,22,37,21,28,,,,,108,240,39,79

我的架构如下所示:

_Dataset: STRING
_DATE: DATE
_TEAMS: STRING
_VENUE: STRING
_1Q: INTEGER
_2Q: INTEGER
_3Q: INTEGER
_4Q: INTEGER
_OT1: INTEGER
_OT2: INTEGER
_OT3: INTEGER
_OT4: INTEGER
_F: INTEGER
_MIN: INTEGER
_FG: INTEGER
_FGA: INTEGER

提前感谢您的帮助

【问题讨论】:

    标签: date csv google-bigquery


    【解决方案1】:

    即使根据The Thirty-first of June by J.B. Priestley 存在 6 月 31 日 - 您的问题可能只是因为实际上 - 六月只有 30 天,所以负载引擎卡在 6 月 31 日

    另一方面 - 查询引擎成功地将 2010-06-31 翻译成 2010-07-01 - 试试下面的例子

    SELECT DATE('2010-06-31')
    

    【讨论】:

    • 哈哈哈非常感谢。晚上太晚了。我会再试一次。谢谢!
    • 当然。让我们知道结果:o)
    • 是的,已修复,现在上传完美。再次感谢!
    • 很高兴听到这个消息。感谢更新 - 所以我们知道负载本身没有问题:o)
    猜你喜欢
    • 2018-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-26
    • 2011-07-12
    相关资源
    最近更新 更多