...c'est évidemment de l'exécution d'une "chaîne" de comparaison
Non - si la date/heure format correspond au format pris en charge, MySQL effectue la conversion implicite de convertir la valeur DATETIME, basé sur la colonne, il est comparé. La même chose arrive avec:
WHERE int_column = '1'
...où la chaîne de valeur de "1" est converti en un Entier, car int_column
s'type de données est de type INT, pas de CHAR/VARCHAR/TEXTE.
Si vous voulez convertir explicitement la chaîne DATETIME, le STR_TO_DATE fonction serait le meilleur choix:
WHERE expires_at <= STR_TO_DATE('2010-10-15 10:00:00', '%Y-%m-%d %H:%i:%s')