雅典娜大于日期列中的条件

新手上路,请多包涵

我尝试在 Athena 上运行以下查询。

 SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > '2017-12-31'
GROUP BY observation_date

但是它产生了这个错误:

 SYNTAX_ERROR: line 3:24: '>' cannot be applied to date, varchar(10)

这对我来说似乎很奇怪。我的查询是否有错误,或者 Athena 无法处理日期列上的大于运算符?

谢谢!

原文由 efbbrown 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 749
1 个回答

在进行此比较之前,您需要使用强制转换来正确格式化日期。尝试以下操作:

 SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > CAST('2017-12-31' AS DATE)
GROUP BY observation_date

在 Fiddler 中查看: SQL Fiddle

更新 17/07/2019

为了反映评论

SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > DATE('2017-12-31')
GROUP BY observation_date

原文由 Barry Piccinni 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进