【发布时间】:2020-09-29 13:44:04
【问题描述】:
我有一个sqlite 表,其中有一列selected_dates。此列包含CustomDates 对象的列表。我想查询此列是否包含其他相同类型列表的任何项目(customDates)。但我找不到任何办法。我试过了:
@Query("SELECT * FROM schedule_table WHERE (type_daily IS 1) OR (:monthOfYear IS 1) " +
"OR (selectedDates IN (:customDates))" +
"ORDER BY scheduleID DESC")
LiveData<List<Schedule>> getSchedulesOfThisWeek(String monthOfYear, List<ScheduleType.Dates> customDates);
这是我的示例数据(List<Date> 对象以json 格式存储)Image of data in sqlite browser:
[{"dayOfMonth":1,"month":8},{"dayOfMonth":2,"month":8},{"dayOfMonth":3,"month":8},{"dayOfMonth":4,"month":8},{"dayOfMonth":5,"month":8},{"dayOfMonth":6,"month":8},{"dayOfMonth":7,"month":8},{"dayOfMonth":8,"month":8},{"dayOfMonth":9,"month":8},{"dayOfMonth":10,"month":8},{"dayOfMonth":11,"month":8},{"dayOfMonth":12,"month":8},{"dayOfMonth":13,"month":8},{"dayOfMonth":14,"month":8},{"dayOfMonth":15,"month":8},{"dayOfMonth":16,"month":8},{"dayOfMonth":17,"month":8},{"dayOfMonth":18,"month":8},{"dayOfMonth":19,"month":8},{"dayOfMonth":20,"month":8},{"dayOfMonth":21,"month":8},{"dayOfMonth":22,"month":8},{"dayOfMonth":23,"month":8},{"dayOfMonth":24,"month":8},{"dayOfMonth":25,"month":8},{"dayOfMonth":26,"month":8},{"dayOfMonth":27,"month":8},{"dayOfMonth":28,"month":8},{"dayOfMonth":29,"month":8}]
一句话,sqlite中如何判断两个List是否相交?
【问题讨论】:
-
注意,比较数字时应该使用
=符号。IS运算符用于检查NULL。您还可以显示一些示例数据吗?带有数据的表结构会非常有用。 -
@AleksG 先生,我已经编辑了问题。
标签: java android sqlite android-room