나는 codeigniter와 MySQL DB에서 일하고있다. 나는 날짜별로 최근 데이터를 보여줄 필요가있는 문제를 해결했다.MYSQL 날짜 범위 쿼리 이상한 행동
는 내가 그 대회 데이터를 가져 오는거야 테이블 이름 tbl_tournament이 tournament_end_date >= $todays_date
내 쿼리
$today = date("d/m/Y");
$this->db->select('*');
$this->db->from('tbl_tournament');
$this->db->where('is_deleted', FALSE);
$this->db->where('tournament_end_date_time >=', $today);
$this->db->order_by('tournament_start_date_time');
$query = $this->db->get();
return $query->result_array();
이 쿼리의 출력은 때 수동으로 빈 배열 array();
입니다 데이터베이스에서 tournament_end_date_time = 01/04/2018
을 변경하고 쿼리 $this->db->where('tournament_end_date_time >=', '01/04/2017');
을 얻습니다. 결과가 나타납니다. 하지만 내가 쿼리에서 날짜를 변경하면 $this->db->where('tournament_end_date_time >=', '31/12/2017');
빈 배열을 얻을.
tournament_end_date_time
로 VARCHAR를 사용했다.
왜 MySQL 기본 날짜 또는 datetime 데이터 형식이 아닌 형식화 된 날짜 문자열을 저장하기 위해 varchar를 사용하고 있습니까? 올바른 데이터 유형을 사용하면 모든 비교가 올바르게 작동합니다. –