Nej - om datum-/tidsformatet matchar formatet som stöds, utför MySQL implicit konvertering för att konvertera värdet till ett DATUMTIDS, baserat på kolumnen det jämförs med. Samma sak händer med:
WHERE int_column = '1'
...där strängvärdet för "1" konverteras till ett INTeger eftersom int_column
s datatyp är INT, inte CHAR/VARCHAR/TEXT.
Om du uttryckligen vill konvertera strängen till en DATETIME, kan STR_TO_DATE-funktionen skulle vara det bästa valet:
WHERE expires_at <= STR_TO_DATE('2010-10-15 10:00:00', '%Y-%m-%d %H:%i:%s')