我只是用这种方式编码:
Cursor cursor;
String sql = "SELECT l.acao, SUM(strftime('%s',l.data_fim) - strftime('%s',l.data_inicio)) AS total_time," +
"FROM logs AS l " +
"WHERE l.data_fim IS NOT NULL " +
"GROUP BY l.acao";
我需要将两个日期之间的秒数相加,并将此值命名为total_time
。但是,当我尝试获取total_time
的结果时,它始终返回null
,请参阅下一个代码:
String totalTimeInSeconds = (String) cursor.getString(cursor.getColumnIndex("total_time"));
当我在SqlLiteStudio中放入相同的查询时,它完美无缺。我究竟做错了什么?
答案 0 :(得分:1)
您的问题是光标中的值实际上是NULL。
仅当原始日期值不在supported date formats之一时才会发生这种情况。您必须更改数据库。
答案 1 :(得分:0)
而不是使用cursor.getColumnIndex()
,您可以在其中输入确切的索引。在您的情况下,total_time索引为1.例如:cursor.getString(1)
或cursor.getInt(1)