Critère `{age < #TRUC}` erroné en SQLite
Découvert suite à https://forum.spip.net/fr_267686.html
- Le critère
{age<3}
fonctionne bien en SQLite. - Le critère
{age<#TRUC}
, avec#TRUC
valant 3 provoque une erreur de test en SQLite, qui renvoie toujours VRAI.
La différence est minime entre les deux :
TIMESTAMPDIFF('HOUR',articles.date,NOW())/24 < 3
-
TIMESTAMPDIFF('HOUR',articles.date,NOW())/24 < '3'
pour le second
Mysql quand à lui a parfaitement l’air de s’en accomoder. Notons qu’il y a une petite différence en Mysql sur la sortie : TIMESTAMPDIFF(HOUR ...
où HOUR est une variable interne
alors que sous SQLite c'est un paramètre de la fonction TIMESTAMPDIFF que sqlite_fonctions.php déclare. Mais ça ne change rien au problème rencontré ici.
Pour tester, sous SQLite on obtient 2 résultats différents.
#CACHE{0}#ID_ARTICLE : #COMPTEUR_BOUCLE / #GRAND_TOTAL #SQUELETTE
#SET{age,100} #ID_ARTICLE : #COMPTEUR_BOUCLE / #GRAND_TOTAL