2016-12-28 52 views
-2

所以这是我的数据库值表sqlite的阅读价值,“COLUMN_days”是列名..Android的 - 用逗号,WHERE子句

 days 
==> Mon 
==> Mon,Tue,Wed 
==> Mon,Fri 

所以这是我选择的值代码。

getDatabase().rawQuery("SELECT * FROM " 
     + ALARM_TABLE + " WHERE " + COLUMN_days + " = " + "'Tue'", null); 

但它并没有显示在数据库中有一个星期二的价值,因为我想读取数据库中的所有单词“星期二”,已在数据库中。例如,我想要显示数据库中的所有“Tue”,它将显示“Mon,Tue,Wed”或我想显示所有的“Mon”,然后显示我在数据库中的三个“Mon”。

我希望你明白我想知道的。提前致谢。

+0

你最好** **正常化您的数据库。每列应包含一个**单**值,数据不应该是**冗余**。您可以将更多表格的列关联起来。 –

+1

首先使您的数据结构标准化,并且没有多个值存储在单个文本值中。 – Shadow

回答

1

使用like运营商,而不是%'=' operator

getDatabase().rawQuery("SELECT * FROM " 
     + ALARM_TABLE + " WHERE " + COLUMN_days + " like " + "'%Tue%'", null); 
+0

它的工作原理!非常感谢! –

+0

它的工作,好的。但这真的只是一个解决方案来处理**非常设计的**数据库。 –