-1

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")');

これは常に結果を返しません。ここで何が問題なのですか。

4

1 に答える 1

1

編集

$this->db->where('DATE_FORMAT(NOW(), "%d/%m/%y")', '26/02/13',FALSE);

また

$this->db->where('STR_TO_DATE('.$date.',"%d/%m/%y")', '26/02/13',FALSE);

codeigniter は where() を自動的にエスケープします。

これを使って:

$this->db->where('STR_TO_DATE(`date`,"%d/%m/%y")', 'CONVERT("26/02/13")',FALSE);

ヒント: データベース クエリに問題がある場合、これは非常に便利です。

    echo "<PRE>";
    echo $this->db->last_query();
    echo "</PRE>";
于 2013-02-26T10:15:17.630 に答える