我一直在尝试从csv文件上传一个包含日期的表,但我一直收到有关日期类型的错误,如下所示:
Errors:
Too many errors encountered. (error code: invalid)
query: Invalid date: '2010-06-31' (error code: invalidQuery)
所以它抱怨2010-06-31。我检查了参考文献并说:
日期类型
名称说明DATE表示逻辑日历日期。值范围 在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
提前感谢您的帮助
答案 0 :(得分:4)
即使6月31日按照The Thirty-first of June by J.B. Priestley存在 - 你的问题可能只是因为在现实中 - 六月只有30天,所以负载引擎在6月31日陷入困境
另一方面 - 查询引擎成功"翻译" 2010-06-31进入2010-07-01 - 尝试下面的例子
SELECT DATE('2010-06-31')