php - SQL WHERE 子句 : sort by date for string

标签 php mysql sql string date

我的数据库表中有一列以 (mmm-yy) 格式保存日期,例如:8 月 13 日。我正在尝试选择 Jun-12 之后的所有日期。问题是列是一个字符串,所以当我说 WHERE column > 'Jun-12' 它给我的值按字母顺序大于 Jun-12,例如 May-12,这不是我想要的。关于如何解决这个问题有什么想法吗?

最佳答案

将日期存储为日期,而不是字符串。这是推荐的做法,我建议相应地更改您的代码。

在这种情况下,您可以使用 STR_TO_DATE动态比较日期的功能:

SELECT * FROM table_name WHERE column > STR_TO_DATE('Jun-12','%m-%y');

希望这对您有所帮助!

关于php - SQL WHERE 子句 : sort by date for string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18640402/

相关文章:

php - 将 PHPT 测试用例与 PHPUnit 集成

php - Laravel 5 每个结果行的子查询

php - 使用 HTML 输入的标记属性进行 SQL 查询,而不泄露数据库表行 ID

mysql - 检查mysql中两列是否有相同数据的行

c# - 数据转换失败。 [ OLE DB 状态值(如果已知)= 2 ]

sql - Oracle 运行总计

php - 如何在 laravel 代码中嵌入视频

javascript - 文件 file 中未捕获的 ReferenceError : output is not defined when using jQuery $. post()

php - 使用 PHP 将单选按钮值添加到 MYSQL 表

mysql - 对关系表进行 SQL 多关键字全文搜索以返回按相关性评级的所有结果