我的数据库表中有一列,其中保存格式为 (mmm-yy) 的日期,例如:Aug-13。我正在尝试选择 6 月 12 日之后的所有日期。问题是该列是一个字符串,因此当我说 WHERE 列>"Jun-12"时,它给我的值按字母顺序大于 Jun-12,例如 5 月 12 日,这不是我想要的。关于如何做到这一点的任何想法?
将日期存储为日期,而不是字符串。这是推荐的方法,我建议相应地更改您的代码。
在这种情况下,您可以使用STR_TO_DATE
函数动态比较日期:
SELECT * FROM table_name WHERE column > STR_TO_DATE('Jun-12','%m-%y');
希望这有帮助!
在这种情况下,
您应该能够转换为日期,然后根据需要进行过滤,下面的代码应该为您提供指导,
SELECT *
FROM Table
WHERE CAST('01-' + column AS DATETIME) > '01-JUN-12'