Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要在接下来的7天内包含日期的所有MySQL行,但日期列的格式不正常_Php_Mysql_Sql_Date - Fatal编程技术网

Php 需要在接下来的7天内包含日期的所有MySQL行,但日期列的格式不正常

Php 需要在接下来的7天内包含日期的所有MySQL行,但日期列的格式不正常,php,mysql,sql,date,Php,Mysql,Sql,Date,我的数据库“scheduledDate”中有一列,我需要数据库中从今天起7天内具有scheduledDate的所有行 我可以使用这样的查询: SELECT * FROM tblName WHERE `scheduledDate` > DATE_ADD(now(), INTERVAL 7 DAY 唯一的问题是,“scheduledDate”列的格式不是mysql时间戳(YYYY-MM-DD HH:MM:SS),而是标准的美国日期(2014年9月7日)。有没有办法在我的查询中在接下来的7天内

我的数据库“scheduledDate”中有一列,我需要数据库中从今天起7天内具有scheduledDate的所有行

我可以使用这样的查询:

SELECT * FROM tblName WHERE `scheduledDate` > DATE_ADD(now(), INTERVAL 7 DAY

唯一的问题是,“scheduledDate”列的格式不是mysql时间戳(YYYY-MM-DD HH:MM:SS),而是标准的美国日期(2014年9月7日)。有没有办法在我的查询中在接下来的7天内获取所有行?我想可以使用DATE\u格式,但我一直无法理解。

您可以使用
str\u to\u DATE()将字符串转换为日期。

WHERE scheduledDate >= Date_Add(now(), INTERVAL -7 DAY)
逻辑也需要改变。上面使用的是介于之间的
,但这可能不是您真正需要的逻辑,因为
now()
上有一个无关的时间组件。也许这更接近:

WHERE str_to_date(`scheduledDate`, '%m/%d/%Y') BETWEEN CURRENT_DATE() and DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY)

mysql str_至_日期1。设置日期列的格式correctly@Strawberry这是理想的解决方案,但不是实际的解决方案。以这种方式引用日期列的代码太多了。在这一点上,几个月的重构并不是一个真正的选择。你能详细介绍一下这个答案吗?您可以解释OP做得不正确的地方以及如何/为什么这样做。
WHERE str_to_date(`scheduledDate`, '%m/%d/%Y') BETWEEN CURRENT_DATE() and DATE_ADD(CURRENT_DATE, INTERVAL 7 DAY)