SQLite ORDER BY月号,采用'yyyy-mm-dd'格式

时间:2011-11-02 05:31:06

标签: android sql sqlite

我有一个表格,其中包含call_date格式的DATETIME列。

在此列中,我使用此格式yyyy-mm-dd的日期。

我想要的是在列的值String中选择按月号排序的行。

是否有这样的SQLite功能呢?

我已经尝试strftime('%m', call_date)但是没有用。

感谢。

3 个答案:

答案 0 :(得分:3)

select * from myTable order by CAST(strftime('%m', call_date) AS INTEGER);

答案 1 :(得分:1)

您可以使用strftime获取月份编号,然后按顺序排序:

select ...
from your_table
order by strftime('%m', call_date)

答案 2 :(得分:0)

一般情况下,由于可能的性能损失,我会尽量避免按计算表达式对结果集进行排序。我会使用另一种方法:例如,我将MONTH列添加到表中并定义TRIGGER,它将设置新的列值。然后在查询中,您可以通过新列进行排序。