Codeigniter数据库日期比较

时间:2012-01-12 02:43:21

标签: mysql codeigniter date

我在使用activerecord将数据库中的日期与现在的一周比较时出现问题。我试图返回一个事件列表,其开始日期不到一周。

event_start_date的格式为2011-06-30 09:00:00

$this->db->select('event_id,title,event_start_date,location');
$this->db->where('event_start_date <=',DATE_ADD(NOW(),INTERVAL 7 DAYS ));
$query = $this->db->get('sd_events');

无法为此制定正确的语法,我们将不胜感激任何帮助: - )

2 个答案:

答案 0 :(得分:3)

两件事。首先,您是否尝试将where子句放在引号中:

$this->db->where('event_start_date <=','DATE_ADD(NOW(),INTERVAL 7 DAYS )');

其次,如果有必要,只需跳过使用where函数并将整个查询放入如下:

$this->db->query('SELECT event_id,title,event_start_date,location FROM sd_events WHERE event_start_date <= DATE_ADD(NOW(),INTERVAL 7 DAYS )');

答案 1 :(得分:2)

你可以使用第一个参数来接受函数 - &gt; where。

$this->db->select('event_id,title,event_start_date,location');
$this->db->where('event_start_date <= DATE_ADD(NOW(),INTERVAL 7 DAYS)', null);
$query = $this->db->get('sd_events');

这应该把它放在你的WHERE语句中asis。否则,它会将您的“DATE_ADD”包装在不进行评估的单引号中。