J'ai une table BigQuery avec une colonne Date
qui est un type date
. J'essaie d'exécuter cette requête:
SELECT * FROM dataset.table_name WHERE Date = "2016-07-11"
Cela jette l'erreur:
Argument type mismatch in function EQUAL: 'Date' is type int32, '2016-07-11' is type string
J'ai également essayé cette requête:
SELECT * FROM dataset.table_name WHERE Date = TIMESTAMP("2016-07-11")
mais cela renvoie 0 résultats, bien que ma table contienne au moins un enregistrement avec cette valeur (2016-07-11
) dans la colonne Date
.
Alors, comment puis-je comparer un champ date
dans BigQuery?
Essayez ci-dessous
WHERE DATE(Date) = "2016-07-11"
Ma recommandation supplémentaire serait de ne pas utiliser de mots réservés comme nom de colonne, je pense que si votre colonne était nommée correctement - votre clause WHERE
d'origine fonctionnerait parfaitement et vous n'auriez pas besoin d'utiliser une solution de contournement avec DATE()=""
Cette solution ne fonctionnait pas pour moi:
DATE(Date) = "2016-07-11"
Au lieu de cela, j'ai dû utiliser:
Date = TIMESTAMP("2016-07-11")