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.
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';