0

我在 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 和“-”视为同一件事,我必须订购将这两个数据放在一起.

有什么建议么?提前致谢

4

1 回答 1

1

要将任意值转换为其他任意值,请使用CASE 表达式;像这样的东西:

... ORDER BY
      CASE COALESCE(weight, date)
        WHEN '-' THEN 0
        ELSE          COALESCE(weight, date)
      END
于 2012-09-20T20:34:43.003 回答