【问题标题】: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);