在我的android应用程序中,我使用Sqliteopenhelper来操作sqlite数据库。对于满足特定条件的所有记录,我需要更新表中的字段(f1)和另一个字段(f2)的一部分。哪个标准sql可以写成
update table1 set f1=substr(f2,1,length(f2)-3) where f1 like 'xxx%';
不确定如何在sqliteopenhelper中执行此操作。 感谢
答案 0 :(得分:1)
Android的update
类的SQLiteDatabase
方法要求您使用ContentValues
,它仅支持文字值,而不支持任意SQL表达式。
只需使用execSQL
:
db.execSQL("UPDATE table1 SET f1=substr(f2,1,length(f2)-3) WHERE f1 like ? || '%'",
new Object[] { "xxx" });