Vous trouverez ci-dessous la requête que j'exécute pour obtenir des mises à jour au cours de la dernière heure.
select count(*)
from my_table
where last_updated_date between to_date(to_char(sysdate,'YYYY-MM-DD HH24'))-1/24 and to_date(to_char(sysdate,'YYYY-MM-DD HH24'));
Notre base de données est Oracle et il échoue avec
ORA-01861: literal does not match format string
01861. 00000 - "literal does not match format string"
*Cause: Literals in the input must be the same length as literals in
the format string (with the exception of leading whitespace). If the
"FX" modifier has been toggled on, the literal must match exactly,
with no extra whitespace.
*Action: Correct the format string to match the literal.
Quelle est la raison de cet échec?
il suffit de soustraire 1/24 de sysdate pour obtenir le temps d'il y a 1 heure
select count(*) from my_table where last_updated_date >= (sysdate-1/24)