我有一个曾经是Access数据库的数据库。现在,我已迁移到MySQL。有一个表'分期'有很多记录,日期的格式类似'YYYY-mm-dd'。
现在我只是在PHP中使用日期('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工作。我现在该怎么办?
任何形式的帮助都将受到赞赏。
我知道我可以使用日期('Y-m-d')更改格式,但我不想这样做。
答案 0 :(得分:0)
我认为你需要这样的东西:
SELECT * FROM `installments` WHERE YEAR(TO_DATE(date, 'DD/MM/YYYY')) = YEAR(CURRENT_DATE) AND MONTH(TO_DATE(date, 'DD/MM/YYYY')) = MONTH(CURRENT_DATE);
希望这有帮助。
答案 1 :(得分:0)
试试这个
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)