我有一个使用本地sqlite数据库的应用程序,其中每个项目都有一个名为“ Theme”的特定表。有时该表具有“ startDate”列,有时则没有。如果确实存在,我需要以特定格式返回“ startDate”。我的问题是,当我查询该表时,指定必要的格式,如果该列不存在,查询将返回错误“ NO SUCH COLUMN”。
如果存在,我如何检查列是否存在,如果未存在,则返回正确格式化的“ startDate”,如果不存在,则返回没有“ startDate”的数据剩余?
这必须在1个查询中完成!
像这样
SELECT * (if exists STRFTIME('%Y/%m/%d %H:%M:%S', startDate) AS sDate FROM Theme
最佳答案
只有一个查询:
Cursor cursor = database.query(TABLE_NAME, null, null, null, null, null, null);
if(cursor.moveToFirst()) {
do {
for(String columnName : cursor.getColumnNames()) {
// do something
}
} while(cursor.moveToNext());
} else {
// your actions for empty table
}
cursor.close();
关于sql - 我需要格式化返回的列值,但该列可能不存在,在这种情况下,我需要获取其余的列数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32013128/