我有一个表格,其中包含call_date
格式的DATETIME
列。
在此列中,我使用此格式yyyy-mm-dd
的日期。
我想要的是在列的值String中选择按月号排序的行。
是否有这样的SQLite功能呢?
我已经尝试strftime('%m', call_date)
但是没有用。
感谢。
答案 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,它将设置新的列值。然后在查询中,您可以通过新列进行排序。