使用特殊情况顺序的SQLite查询方法

时间:2015-02-12 16:38:55

标签: java android sql sqlite

我有一个query方法,目前看起来像这样:

Cursor cursor = database.query(MySQLiteHelper.MY_TABLE, allColumns, null, null, null, null, null);

我想要做的是添加ORDER BY。但它比普通的ORDER BY有点复杂。所以在最后一个参数中我想要一个说

的订单

my_order ASC WHEN my_order IS NOT '0'

如果我需要CASE或什么,我不确定这是否是正确的syatax。

我基本上希望它按1,2,3等顺序排列my_order字段,然后任何零都不是特定顺序。 my_order列是INT

我该怎么做?

1 个答案:

答案 0 :(得分:2)

要将零排序到最后,请将其替换为大于任何数字的值,例如字符串:

SELECT ...
ORDER BY CASE WHEN my_order <> 0 THEN my_order ELSE '' END;

当您的列包含字符串时,您必须构建一些适当的“大”字符串。字符串。