2016-06-11 105 views
1

我使用活動記錄獲取一些記錄,並使用datediff功能獲取兩個日期之間的差異。這是活動記錄DATEDIFF IN CODEIGNITER中的活動記錄

$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` 

查詢在DATEDIFF(OUT_DATE,錯了IN_DATE) + 1 AS TOTAL_DATE,我可以看到backthick製作通過AR是錯誤的任何解決方案是如此讚賞

+0

MYSQL tooo –

+0

爲什麼你會在'IN_DATE)+ 1'附近找不到句法正確的回撥 –

+0

試着用'DATEDIFF(** a ** .OUT_DATE,** a **。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不會嘗試使用反引號來保護字段或表名。如果您需要複合選擇語句,這很有用。