查询 CodeIgniter NOW() Sysdate() 或 .?
Posted
技术标签:
【中文标题】查询 CodeIgniter NOW() Sysdate() 或 .?【英文标题】:Query CodeIgniter NOW() Sysdate() or .? 【发布时间】:2019-04-05 14:45:05 【问题描述】:我的查询 SQL 有问题。 我需要查询它导致我的订单到上周(到现在的 7 天)我使用此代码
$this->db->where("account_orders.data > now()-7",NULL);
我的数据库中的日期是 -> 2019-04-05 为什么它不起作用?
【问题讨论】:
它可能不知道如何从字符串中减去7
。这是mysql
还是什么数据库? (NOW() - interval 7 day)
可能会为你做这件事
【参考方案1】:
我不知道为什么要使用这个now()-7
,如果你想要从现在开始的 7 天之间的订单,你可以在这里使用 range 和 where
子句,如:
$dateLastWeek = date('Y-m-d', strtotime('-7 days')); // last week day
$dateCurrent = date('Y-m-d'); // current day
在 CI 中,您可以像这样使用范围:
$this->db->where("account_orders.data >=", $dateLastWeek);
$this->db->where("account_orders.data <=", $dateCurrent);
如果您只需要上周的订单,您可以在查询中使用 $dateLastWeek
日期:
$this->db->where("account_orders.data", $dateLastWeek);
请注意,由于您在问题2019-04-05
中提到的输入,我正在使用Y-m-d
日期格式
【讨论】:
以上是关于查询 CodeIgniter NOW() Sysdate() 或 .?的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter 日期比较 - 大于或小于日期时间字段不起作用