SQLite 排序规则



我在android中有一个SQLite数据库,其中包含一些表,其中之一是:

trainings (date TEXT, exercise TEXT, repetitions INTEGER, weight REAL)

它有两个权重和重复数的索引,都是ASC。

事情就是这样,在按重复顺序的选择语句中,我得到了这样的东西:

Select * from trainings WHERE exercise='"+exercise+"' AND repetitions != '-' AND repetitions != 0 ORDER BY COALESCE( weight, date);
0
0
0
12
13
25
-
-

想知道是否可以将"-"结果放在开头而不是末尾,因为在我的应用程序中,我将 0 和"-"视为同一事物,我必须排序将这两个数据放在一起。

有什么建议吗?提前致谢

若要将任意值转换为其他任意值,请使用 CASE 表达式;如下所示:

... ORDER BY
      CASE COALESCE(weight, date)
        WHEN '-' THEN 0
        ELSE          COALESCE(weight, date)
      END

最新更新