【发布时间】:2013-02-26 10:11:03
【问题描述】:
我有一个varchar 列,它将日期存储为26/02/2013。我需要将其转换为日期格式以进行比较。作为测试查询,我在活动记录中使用下面的查询来获取日期为26/02/2013的所有记录
$this->db->select('*');
$this->db->from('salesinvoices');
$this->db->where('STR_TO_DATE(`date`,"%d/%m/%y")', 'CONVERT("26/02/13")');
这总是不返回任何结果。这里有什么问题。
【问题讨论】:
-
冒着说明显而易见的风险,为什么不将日期存储为日期?
-
嗯,这看起来很混乱。我如何存储它们?我如何找回它们?以及如何比较它们?
-
您的查询无法进行,因为您没有正确使用
CONVERT(),如in the manual所示。 -
按照草莓的建议,将日期以 Y-m-d 格式保存在数据库中。关于mysql日期格式->link
-
查看我的最新编辑。这应该工作。你不需要使用 convert() 函数,它与日期无关。
标签: php mysql codeigniter activerecord