Codeigniter 日期比较 - 大于或小于日期时间字段不起作用

Posted

技术标签:

【中文标题】Codeigniter 日期比较 - 大于或小于日期时间字段不起作用【英文标题】:Codeigniter Date comparison - Greater than or Less than datetime field not working 【发布时间】:2019-07-15 07:04:33 【问题描述】:

我在 codeigniter 中有以下查询来查找日期时间字段超过 24 小时的任何数据。这是我的尝试...

$this->db->where('date_reg >', 'DATE_SUB(NOW(), INTERVAL 1 DAY)');

但是上面的查询不起作用!

简而言之,返回 date_reg 超过 24 小时的所有行...

我不能在 codeigniter 中使用查询! 这是date_reg字段的格式....2019-02-19 08:00:00

我该怎么做?

【问题讨论】:

Compare two dates in Codeigniter and mysql的可能重复 不重复,我的字段是日期时间类型。这是很大的不同 你在“date_reg”中的日期格式是什么,你可以添加格式吗 这里是格式....2019-02-19 08:00:00 希望你能以echo date('Y-m-d H:i:s', strtotime('-1 day', strtotime(date('Y-m-d H:i:s')))); 的身份做到这一点? 【参考方案1】:

试试这个;

$this->db->query('SELECT * FROM your_table WHERE date_reg >= now() + INTERVAL 1 DAY;');

【讨论】:

我不能使用查询,因为我还有很多其他信息。它应该是 codeigniter 风格... 好的,试试。 $this->db->where('date_reg >=', 'NOW() + INTERVAL 1 DAY'); $this->db->where('date_reg >=', DATE_SUB(NOW(), INTERVAL 24 HOUR)'); 你能试试最后一个吗? 让我们continue this discussion in chat。【参考方案2】:

试试这个:

$this->db->select('*');
$this->db->from('your_table');
$this->db->where('date_reg >=', '(NOW() + INTERVAL 1 DAY)', false);
$this->db->get();

【讨论】:

不工作,问题可能是我的 date_reg 字段类型是日期时间,这可能是问题吗? 我已经测试过了。 SELECT * FROM customer_entity WHERE created_at >= (NOW() + INTERVAL 1 DAY) 它为我的客户专栏工作。 我也有日期时间,没问题你可以再做一件事让我分享 $this->db->where('DATE(date_reg)', '>=', '(NOW() + INTERVAL 1 DAY)'); 这根本不起作用...第一个参数是键,第二个是值,第三个是布尔值,无论您是否要转义它(默认为true) -看看这里codeigniter.com/user_guide/database/… 一个合适的解决方案是$this->db->where('date_reg >=', '(NOW() + INTERVAL 1 DAY)', false);【参考方案3】:

您是否正在寻找在当前日期后 24 小时内录制的旧记录? 因为让我们以今天的日期为准。 2019-02-21.

$this->db->where('date_reg >', 'DATE_SUB(NOW(), INTERVAL 1 DAY)');

这个查询本质上是说查找大于当前日期的记录。所以它会寻找2019-02-212019-02-22之间的记录,可能返回空。

试试这个。我尽量分析问题,而不是半信半疑地回答

$this->db->where('date_reg <=', 'DATE_SUB(NOW(), INTERVAL 1 DAY)');

【讨论】:

以上是关于Codeigniter 日期比较 - 大于或小于日期时间字段不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 数据类型比较规则

怎样在C#中判断从界面选择的日期是在当前日期之前

SQL - SELECT WHERE 存储在 JSON varchar 中的日期大于或小于固定日期

SQL - SELECT存储在JSON varchar中的日期大于或小于固定日期

.net 比较两个日期大小

vue element ui 开始日期小于或等于结束日期