php - 以不同的日期格式执行 SQL 查询

标签 php mysql date

我有一个以前是 Access 数据库的数据库。现在,我已经迁移到 MySQL。有一个表 'installments' 有很多记录,日期的格式类似于 'YYYY-mm-dd'。

现在我通过在 PHP 中简单地使用 date('d-m-Y') 以类似 'dd-mm-YYYY' 的格式存储新日期。

现在,我要执行这个查询

SELECT * FROM `installments` WHERE YEAR(date) = YEAR(CURRENT_DATE) AND MONTH(date) = MONTH(CURRENT_DATE)

但它只适用于旧格式,如 2016-07-12。它确实适用于 12-07-2016。我现在该怎么办?

如有任何帮助,我们将不胜感激。

我知道我可以使用 date('Y-m-d') 更改格式,但我不想那样做。

最佳答案

试试这个

SELECT * FROM `installments` WHERE YEAR(STR_TO_DATE(DATE,'%d-%m-%Y')) = YEAR(CURRENT_DATE) AND MONTH(STR_TO_DATE(DATE,'%d-%m-%Y')) = MONTH(CURRENT_DATE)

关于php - 以不同的日期格式执行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38370829/

相关文章:

javascript - 如何使用参数获取 Javascript 中的当前日期

php - 在mysql或php中执行if

php - 实体公共(public)字段的学说继承

PHP SoapClient SSL 连接超时错误

php - TLS v1.2 curl 调用是否需要升级服务器证书

java - 使用数据库 MySQL 导出 eclipse java 桌面基础应用程序

来自mysql的PHP双数精度和

java - 使用 Genson 和 Jersey 解析 POST 中的 JSON 日期

c# - 使用 C# 选择 oracle 日期列

php - 如果相同 id 项目超过 1 个,如何从 mysql 获取 1 个项目