gpt4 book ai didi

android - Room DAO 按 ASC 或 DESC 变量排序

转载 作者:太空宇宙 更新时间:2023-11-03 13:07:44 26 4
gpt4 key购买 nike

我正在尝试在我的 @Dao 接口(interface)中创建一个 @Query 函数,它有一个 bool 参数 isAsc 来确定顺序:

@Query("SELECT * FROM Persons ORDER BY first_name (:isAsc ? ASC : DESC)")
List<Person> getPersonsAlphabetically(boolean isAsc);

显然这是不允许的。这附近有工作吗?

编辑:

使用两个查询(如下)似乎很奇怪,因为唯一的区别是 ASCDESC:

@Query("SELECT * FROM Persons ORDER BY last_name ASC")
List<Person> getPersonsSortByAscLastName();

@Query("SELECT * FROM Persons ORDER BY last_name DESC")
List<Person> getPersonsSortByDescLastName();

最佳答案

Room DAO 中为 SQLite 使用 CASE 表达式

@Query("SELECT * FROM Persons ORDER BY 
CASE WHEN :isAsc = 1 THEN first_name END ASC,
CASE WHEN :isAsc = 0 THEN first_name END DESC")
List<Person> getPersonsAlphabetically(boolean isAsc);

关于android - Room DAO 按 ASC 或 DESC 变量排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55297165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com