php - MySQL PHP - 比较字符串日期

标签 php mysql

我在将日期列与当前日期进行比较时遇到问题。我的日期列是一个字符串 ('13.12.2013 17:12 - Fr.')。我无法将其设为日期字段,因为它仅在 Joomla 日期时间选择器中以字符串形式给出。

我必须选择日期>当前日期的所有行。我尝试了一些解决方案,但没有任何效果。我当前的解决方案如下,但它仍然显示所有行,而不仅仅是日期>当前日期的行。

SELECT * FROM jtmpl2_chronoforms_data_test_reservierung 
WHERE res_bestaetigt = 'yes' AND res_deleted = 0 
    AND STR_TO_DATE(res_date, '%d.%m.%Y') > DATE_FORMAT(CURDATE(), '%d.%m.%Y') 
ORDER BY STR_TO_DATE(res_date, '%d.%m.%Y %H:%i') ASC"

有人可以帮忙吗?

最佳答案

你正在做两件相反的事情 STR_TO_DATE(res_date, '%d.%m.%Y') > DATE_FORMAT(CURDATE(), '%d.%m.%Y')

第一部分创建一个 mysql DateTime 值,这就是您想要的。 第二部分从 DataTime 值创建一个字符串。 所以您正在比较日期时间与字符串。按以下方式更改: STR_TO_DATE(res_date, '%d.%m.%Y') > CURDATE()

您可能还必须将此条件移至“HAVING”部分。

关于php - MySQL PHP - 比较字符串日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20616019/

相关文章:

PHP Preg_replace 与法语标点/重音不匹配

php - 如何在 codeigniter 的模型中获取购物车的结果?

php - 用于替换未包含在标签之间的单词的正则表达式(非 html)

php - 在单个查询中更新多行php mysql

php - 无需刷新页面即可将下拉菜单中的数据提交到mysql

php mysql : UPDATE will only work WHERE data = integer

java - 在 JSF2 中填充 selectonemenu 时无法实例化类

MySQL 查询 - Magento 在一行中指定属性

php - 如何使用 PHP 和 MySQLI 按相关性对结果进行排序?

javascript - 如何在删除/退格/清除文本框中的文本时清除 td 内容