我编写了以下查询,以便在两个给定的日期范围内从数据库中获取行。但是它没有获取任何数据。此查询中出现了什么问题以及如何修复
$from=date_format(date_create($this->input->post('from_date')),'ym');
$to=date_format(date_create($this->input->post('to_date')),'ym');
$this->db->from('tab1');
$this->db->join('tab2','tab1.party_id=tab2.party_id','inner');
$this->db->where("EXTRACT(YEAR_MONTH FROM tab2.incoming_call_date ) BETWEEN {$from} AND {$to}");
$query = $this->db->get();
$data = $query->result();
return $data;
答案 0 :(得分:1)
ym
将输出为年份和月份的2位数。但是在mysql中你使用EXTRACT(YEAR_MONTH...
输出为4位数年份。首先使用大写Y
$from=date_format(date_create($this->input->post('from_date')),'Ym');
$to=date_format(date_create($this->input->post('to_date')),'Ym');