नहीं - यदि दिनांक/समय प्रारूप समर्थित प्रारूप से मेल खाता है, तो MySQL उस कॉलम के आधार पर मान को DATETIME में बदलने के लिए निहित रूपांतरण करता है, जिसकी तुलना की जा रही है। इसके साथ भी ऐसा ही होता है:
WHERE int_column = '1'
...जहां "1" के स्ट्रिंग मान को एक इंटेगर में बदल दिया जाता है क्योंकि int_column
का डेटा प्रकार INT है, CHAR/VARCHAR/TEXT नहीं।
यदि आप स्ट्रिंग को स्पष्ट रूप से DATETIME में बदलना चाहते हैं, तो STR_TO_DATE फ़ंक्शन सबसे अच्छा विकल्प होगा:
WHERE expires_at <= STR_TO_DATE('2010-10-15 10:00:00', '%Y-%m-%d %H:%i:%s')