gpt4 book ai didi

mysql - 如何将记录集限制为过去的日期

转载 作者:行者123 更新时间:2023-11-29 08:22:58 25 4
gpt4 key购买 nike

第二次尝试,我只是不明白。

我想删除毕业日期已过 $today 的毕业生,因此我想将记录集限制为仅数据库中日期为过去的学生。

我的表将 gradMonth 和 gradYear 存储为 varchar,即 2013 年 6 月。

所以,$today = strtotime(date("Y-F"))。正如预期的那样,它可以工作并产生 1378008000。

我想连接 gradMonth、gradYear 的表字段值并将它们与 $today 进行比较。所以我的查询是:

SELECT 
gradYear, gradMonth
FROM
myTable
WHERE
UNIX_TIMESTAMP(CONCAT_WS('-', gradYear, gradMonth, '01')) < '$today'

奇怪的是,这始终包括 2014 年 10 月和其他不小于今天美元的月份的记录,我不知道为什么。

感谢您提供的任何想法或帮助。

最佳答案

更加 MySQL 原生的方法:

WHERE DATE(CONCAT_WS('-', gradYear, gradMonth, '01')) < ?

为该占位符提供 strtotime(date("Y-m-d") 参数。

如果将 gradYeargradMonth 转换为正确的 DATE 列,则此查询将如下所示:

WHERE gradDate < ?

我不确定 "Y-F" 作为一种格式如何工作,因为它会产生诸如 "2013-January" 这样的内容,而这些内容无法正确排序,因为从 ASCII 角度来说,“April”将是一年中的第一个月。

关于mysql - 如何将记录集限制为过去的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18836818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com