Php 这是找到3个月前的记录的好方法吗
请看一下mycodePhp 这是找到3个月前的记录的好方法吗,php,postgresql,Php,Postgresql,请看一下mycode $result = $db->query("SELECT u.*,age(u.created_on) older FROM users u")->fetchAll(PDO::FETCH_OBJ); foreach ($result as $row) { preg_match("#(.*?)([0-9]+)(\s)mons(.*?)#is", $row->older, $match); if (isset($match[2]) &&a
$result = $db->query("SELECT u.*,age(u.created_on) older FROM users u")->fetchAll(PDO::FETCH_OBJ);
foreach ($result as $row) {
preg_match("#(.*?)([0-9]+)(\s)mons(.*?)#is", $row->older, $match);
if (isset($match[2]) && $match[2] == "3") {
echo "{$row->email} is 3 month older";
}
}
我知道这只能在一个查询中完成
您可以发布此问题的替代解决方案,也可以改进我的代码
我想在这里检查我的操作是否正确如果您想获取三个月以上的记录,您可以这样编写查询:
select * from "table" WHERE dstart < current_date - INTERVAL '3 month'
如果没有,那么发布另一个解决方案!先尝试一下。所以这对我来说不是一个好的重做,尽管我知道它可以做得更好,但我没有费心去尝试。没问题,我得到了答案,请看下文。您可能会发布mysql查询,但我正在使用postgres@user2907171现在检查查询。我用我的需求select*从用户那里更新,其中DATEcreated\u on=DATENOW-INTERVAL'3 month',但我遇到了'character'的错误OK问题。谢谢,我找到解决办法了