猿问

在 Codeigniter 中列出给定日期范围内的记录

我有一个数据库,以varChar的形式保存日期记录


我的数据库:


------------------------

| id | name |    date  |

------------------------

| 1 | Mark  |01-11-2020|

------------------------

| 2 | Mark  |01-06-2020|

------------------------

| 3 | Mark  |01-07-2020|

------------------------

日期格式为日-月-年


我有 2 个字符串变量:


var1: 01-05-2020

var2: 20-06-2020

当我在我的 sql 中输入变量时,我没有得到正确的结果


01-06-2020

我的代码是


    $this->db->order_by('id', 'DESC');

    $this->db->where('date >=', '01-05-2020');

    $this->db->where('date <=', '20-06-2020');

    $query = $this->db->get('db');

    $data["records"] = $query->result();


千万里不及你
浏览 111回答 1
1回答

森林海

您也需要转换您正在尝试搜索的字符串&nbsp; &nbsp; $this->db->order_by('id', 'DESC');&nbsp; &nbsp; $this->db->where("STR_TO_DATE(date,'%d-%m-%Y') >=", "STR_TO_DATE('01-05-2020','%d-%m-%Y')");&nbsp; &nbsp; $this->db->where("STR_TO_DATE(date,'%d-%m-%Y') <=", "STR_TO_DATE('20-06-2020','%d-%m-%Y')");&nbsp; &nbsp; $query = $this->db->get('db');&nbsp; &nbsp; $data["records"] = $query->result();你可能会发现这个小提琴很有帮助
随时随地看视频慕课网APP
我要回答