Codeigniter日期比较

时间:2016-04-12 17:11:06

标签: php codeigniter datetime

我搜索了论坛,但无法使此查询生效。它返回一个空数组。如果我删除WHERE部分,它可以正常工作......

这是$this->db->last_query()的输出:

  SELECT `buchungen`.*, `rechnungen`.`sent_count`, `rechnungen`.`zahlungsdatum`, `rechnungen`.`last_modified`
  FROM (`buchungen`)
  LEFT JOIN `rechnungen` ON `rechnungen`.`buchungs_id` = `buchungen`.`id`
  WHERE `buchungen`.`datum` >= '2016-03-13 12:00:00'
  AND `buchungen`.`datum` <= '2016-03-13 12:00:00'

2 个答案:

答案 0 :(得分:0)

<强>尝试:

SELECT `buchungen`.*, `rechnungen`.`sent_count`, `rechnungen`.`zahlungsdatum`, rechnungen.last_modified
FROM (`buchungen`) 
LEFT JOIN `rechnungen` ON `rechnungen`.`buchungs_id` = `buchungen`.`id` 
WHERE `buchungen`.`datum` BETWEEN CAST('2016-03-13 12:00:00' AS DATETIME) 
AND CAST('2016-03-13 12:00:00' AS DATETIME)

- 假设您将datum保存为DATETIME

答案 1 :(得分:0)

试试这个

$this->db->query("SELECT buchungen.*, rechnungen.sent_count, rechnungen.zahlungsdatum, rechnungen.last_modified
                  FROM buchungen
                  LEFT JOIN rechnungen 
                  ON rechnungen.buchungs_id = buchungen.id
                  WHERE buchungen.datum >=  date('Y-m-d H:i:s', strtotime('2016-03-13 12:00:00'))
                  AND buchungen.datum <= date('Y-m-d H:i:s', strtotime('2016-03-13 12:00:00'))");