2017-12-03 63 views
-1

舉例來說,在這裏我要插入公式datetime('now', '+63 minutes')內容值可以在SQLite中插入公式嗎?

ContentValues cv = new ContentValues(); 
    cv.put("_id", _id); 
    cv.put("name", name); 
    cv.put("datetime", "datetime('now', '+" + minutes+hours*60 + "minutes'"); 
    db.insert("table", null, cv); 

默認行爲是將列設置爲字符串「DATETIME(‘現在’,‘63分鐘’)」,而不是計算公式。

+0

爲什麼不先嚐試然後發佈錯誤(如果有的話) –

+0

你可以,但只能**字面上**(即:你**不能在查詢**中將它用作計算列):只需插入它作爲一個字符串值(通過轉義字符串和加倍撇號)。另一方面,您可能希望直接在查詢**中使用計算列。不需要嘗試這種天真的方法,只會返回錯誤和妄想。 –

回答

1

ContentValues值被綁定爲文字值,而不是評估爲SQL表達式。在引擎蓋下它使用sqlite variable binding

正如在你的文字中所觀察到的那樣,你會在數據庫中得到字面值。

相關問題