【问题标题】:Compare Start_date to current date in SQL将 Start_date 与 SQL 中的当前日期进行比较
【发布时间】:2017-09-02 11:40:27
【问题描述】:

我需要将 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 小于当前日期的数据。请帮我得到这个。

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

【问题讨论】:

  • date('Y-m-d h:m:s').... m 是几个月,而不是几分钟;使用 i 几分钟
  • 而 MySQL date() 函数只返回存储日期值的 Y-m-d 部分

标签: php sql codeigniter


【解决方案1】:

您可以添加另一个位置来获取从 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 ->是分钟,m ->是php日期格式的月份

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多