【发布时间】:2016-03-02 07:31:20
【问题描述】:
我在数据库中有日期字段具有 varchar 数据类型。现在我必须将日期与当前日期进行比较,但由于数据类型(varchar)结果不正确。
我不想更改数据库中的数据类型,那么如何在 codeigniter 中查询?
在我的数据库中,日期是这种格式 30/11/2015
我当前的查询:
//here vd is table field(one column).
$cd = date('d/m/Y');//current date
$this->db->where("date_format(STR_TO_DATE(vd, '%d/%m/%Y'),'%d/%m/%Y') >",$cd); //comparing date with current date
$query =$this->db->get('warranty');
通过使用上述查询,它只是比较日期而不是月份和年份。所以它返回那些日期大于今天日期的记录。
但正确的结果并没有到来......
【问题讨论】:
-
不,这不是问题。我只在这里写了“日期”。但字段类型是 varchar 而不是日期,所以我无法比较日期。
-
不,'PD' 表示过去的日期
-
我可以在这个查询中使用 cast 列吗?如果是,那么如何?
-
不需要使用
cast,而是使用'str_to_date(PD,"%d-%m-%Y") >' -
谢谢兄弟...这意味着我的条件应该是 $this->db->where('str_to_date(PD,"%d-%m-%Y") >',$cd) ; ??????
标签: php mysql codeigniter