web-dev-qa-db-fra.com

Erreur de requête SQL AWS Athena avec horodatage

J'ai une table dans AWS Athena ayant une colonne nommée 'servertime' avec le type de données d'horodatage. Je lance une requête comme celle-ci

select * 
from table_name 
where servertime between '2018-04-01 00:00:00' and '2018-04-05 23:59:59';

Cela me donne cette erreur: Votre requête contient les erreurs suivantes: SYNTAX_ERROR: ligne 1:41: '=' ne peut pas être appliqué à l'horodatage, varchar (19)

Comment puis-je résoudre ce problème à Athéna? Et c'est une requête importante pour obtenir les données de cette table.

8
Sumit Kumar Sagar

Le problème que vous voyez est lié à votre condition intermédiaire. Si vous présentez l'horodatage comme varchar, Athena ne les convertira pas en horodatages.

Pour que cela se produise, vous devez passer un transtypage explicite.

select * from table_name 
where servertime 
   between TIMESTAMP '2018-04-01 00:00:00' 
   and TIMESTAMP '2018-04-05 23:59:59';
18
jens walter