Android Sqlite按日期列排序
我正在sqlite表中以ISO8601格式存储日期示例2015-04-15T10:54:14Z,我想要表中最年轻的日期。下面是我的sqlite表中的日期Android Sqlite按日期列排序,android,sqlite,android-sqlite,Android,Sqlite,Android Sqlite,我正在sqlite表中以ISO8601格式存储日期示例2015-04-15T10:54:14Z,我想要表中最年轻的日期。下面是我的sqlite表中的日期 2015-04-15T10:54:14Z 2015-04-15T10:54:115Z 2015-04-15T10:54:216Z 2015-04-15T10:54:320Z 2015-04-15T10:54:422Z 我正在尝试以下查询: SELECT * FROM Table1 ORDER BY datetime("date_column
2015-04-15T10:54:14Z
2015-04-15T10:54:115Z
2015-04-15T10:54:216Z
2015-04-15T10:54:320Z
2015-04-15T10:54:422Z
我正在尝试以下查询:
SELECT * FROM Table1 ORDER BY datetime("date_column") DESC ;
但是我没有得到合适的结果。标准化为UTC的ISO 8601日期时间戳有一个很好的特性,即字母顺序(字典顺序)也是时间顺序
您不需要
datetime()
,只需ORDER BY date\u column DESC
首先对最新的数据进行排序,您还可以添加LIMIT 1
以获取最新的数据。将查询更新为:
SELECT * FROM Table1 ORDER BY date_column DESC LIMIT 1
使用此方法将日期列放入数据库:
public String getDatetime(){
//get time and date
Calendar c=Calendar.getInstance();
CharSequence s = DateFormat.format("yyyy-MM-dd HH:mm:ss", c.getTime());
//convert it to string array
return s.toString();
}
然后像以前一样使用您的查询,因为datetime()接受特定的格式。@user3271351您能将此标记为正式答案吗?不知道为什么这被否决。这是真正有用的信息。它就像一个魅力,因为我刚刚实现了它。不要用比较器嘲笑。谢谢@IaaIto“ISO 8601日期时间戳有一个很好的特性,即字母顺序(字典顺序)也是时间顺序。”仅当日期和时间以UTC表示,且末尾没有时区偏移。@balu是的,谢谢。澄清了答案。