【问题标题】:How to compare only date and year in php codeigniter如何在php codeigniter中仅比较日期和年份
【发布时间】:2016-05-03 05:17:40
【问题描述】:

我的模特:

public function get_payscale() {
    $this->db->from('payscale P')->join('employee E','E.employee_id = P.employee_id ');
    $this->db->where('P.payscale_date',date('Y-m'));
    return $this->db->get()->result_array();
}   

我只想将月份和年份与 db 进行比较,其中格式为 y-m-d,我只想使用 where 子句检索 y-m。

【问题讨论】:

    标签: php mysql codeigniter


    【解决方案1】:

    这样使用:

    $this->db->where('EXTRACT(YEAR_MONTH FROM P.payscale_date)',date('Ym'));
    

    此查询将从给定的日期列中提取年份和月份,例如 201605 (2016-05-21)

    【讨论】:

      【解决方案2】:

      不确定确切的语法,但以下内容对您有用。

      $this->db->where('year(Start_Date),year(curdate())');
      $this->db->where('month(Start_Date),month(curdate())');
      

      【讨论】:

        【解决方案3】:

        我在核心 PHP 中使用了相同的条件,如果在实现时遇到任何问题,您可以简单地在 Codeigniter 上实现它,让我知道

        SELECT * FROM `test` WHERE Year('payscale_date') = 2016 and Month('payscale_date') = 05
        

        【讨论】:

          【解决方案4】:

          如果您的 mysql 表中有日期时间类型,并且您只想从中获取年份,请使用:

          $this->db->->where('year(prdt.date_updated)',$year);
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-05-10
            • 2011-09-11
            • 1970-01-01
            相关资源
            最近更新 更多