J'ai la requête suivante que j'essaie d'exécuter sur Athena.
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > '2017-12-31'
GROUP BY observation_date
Cependant, il produit cette erreur:
SYNTAX_ERROR: line 3:24: '>' cannot be applied to date, varchar(10)
Cela me semble étrange. Y a-t-il une erreur dans ma requête ou Athena n'est-elle pas en mesure de gérer des opérateurs supérieurs aux colonnes de date?
Merci!
Vous devez utiliser un cast pour formater correctement la date avant de faire cette comparaison. Essayez ce qui suit:
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > CAST('2017-12-31' AS DATE)
GROUP BY observation_date
Vérifiez-le dans Fiddler: SQL Fidle
MISE À JOUR 17/07/2019
Afin de refléter les commentaires
SELECT observation_date, COUNT(*) AS count
FROM db.table_name
WHERE observation_date > DATE('2017-12-31')
GROUP BY observation_date
Vous pouvez également utiliser la fonction date qui est un alias pratique pour CAST(x AS date)
:
SELECT *
FROM date_data
WHERE trading_date >= DATE('2018-07-06');