2016-06-11 3 views
1

レコードを取得するためにアクティブレコードを使用しますが、私は2つの日付の差を取得するためにdatediff fuctionを使用します。これは、アクティブなレコードレコードレコードをCODEIGNERERで

$this->db->select('a.ID, a.PREFIX, 
        a.SERIAL_NUMBER, a.EOR_NUMBER, 
        a.IN_DATE, a.OUT_DATE, 
        DATEDIFF(OUT_DATE,IN_DATE) + 1 AS TOTAL_DATE, a.BALANCE, a.REMARKS, a.NO_EOR'); 
$this->db->from($this->table . ' as a'); 

である。しかし、クエリは次のように製造した。

SELECT `a`.`ID`, 
    `a`.`PREFIX`, `a`.`SERIAL_NUMBER`, 
    `a`.`EOR_NUMBER`, `a`.`IN_DATE`, 
    `a`.`OUT_DATE`, DATEDIFF(OUT_DATE, `IN_DATE) + 1` AS `TOTAL_DATE`, 
    `a`.`BALANCE`, `a`.`REMARKS`, 
    `a`.`NO_EOR` FROM 
`tb_fin_storage` as `a` 

クエリがIN_DATE) + 1TOTAL_DATE AS DATEDIFF(OUT_DATE、で間違っていた、と私はbackthickが生成されたことがわかりますARで間違っているすべてのソリューションがそのように評価されて

+0

MYSQLあなたが戻ってin_dateの '周りティックなければならないのはなぜtooo –

+0

を持っている)+ 1 'それは –

+0

は' DATEDIFF(**。OUT_DATE、**。in_date時点)で試し+ 1を持っていた構文が正しくありませんAS TOTAL_DATE'ですか? – Zimmi

答えて

1

あなたはこれをCANDO:。。

$this->db->select('a.ID, a.PREFIX, 
       a.SERIAL_NUMBER, a.EOR_NUMBER, 
       a.IN_DATE, a.OUT_DATE, 
       DATEDIFF(OUT_DATE,IN_DATE) + 1 AS TOTAL_DATE, a.BALANCE, a.REMARKS, a.NO_EOR', false); 

は(最後に偽追加し、それはエスケープオフになります)

ドキュメント:ます$ this-> DB->(選択)オプションの二番目のパラメータを受け付けます。 FALSEに設定すると、CodeIgniterはフィールドまたはテーブル名をバックティックで保護しようとしません。これは、複合select文が必要な場合に便利です。

関連する問題