将Start_date与SQL

时间:2017-09-02 11:40:28

标签: php sql codeigniter

我需要将start_date与current_date进行比较,以便我可以找到特定日期的数据(换句话说:当天的数据)。为此,我正在使用此查询

    $rs = $this->db->select('ult_camp.*')
                    ->order_by('ult_camp.start_date', 'desc')
                    ->from('ult_camp')
                    ->where('ult_camp.status', 'Active')
                    ->where('date(ult_camp.start_date)<=', date('Y-m-d h:m:s'))
                    ->get()->result();
    return $rs;

但是这个查询我得到的start_date小于当前日期的数据。请帮我解决这个问题。

任何帮助将不胜感激。 提前谢谢。

1 个答案:

答案 0 :(得分:3)

您可以添加另一个地点以获取从12:00:00开始到当前时间的日期范围。

 $rs = $this->db->select('ult_camp.*')
                ->order_by('ult_camp.start_date', 'desc')
                ->from('ult_camp')
                ->where('ult_camp.status', 'Active')
                ->where('date(ult_camp.start_date)<=', date('Y-m-d h:i:s'))
                ->where('date(ult_camp.start_date)>=', date('Y-m-d 00:00:00'))
                ->get()->result();
return $rs;

此where子句应转换为:

date(ult_camp.start_date) <= '2017-09-02 08:55:20' AND date(ult_camp.start_date) >= '2017-09-02 00:00:00'

注意:i - &gt;是分钟和m - &gt;用于php日期格式的月份