2016-12-28 3 views
-2

だから、これは私のデータベース、「COLUMN_days」に値である列名..ですアンドロイド - テーブル内のsqliteの読み取り値がカンマで、句

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

だからここに値を選択するための私のコードです。

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

しかし、私はデータベースにデータベース内にあるすべての単語「火」を読みたいので、それは、火を持って、データベース内の値が表示されませんでした。たとえば、データベースに「火」をすべて表示したい場合は、「月、火、水」を表示するか、「月」をすべて表示したい場合は、データベースにある3つの「月」を表示します。

ご希望のことをご理解いただければ幸いです。前もって感謝します。代わりに%'=' operator

+0

のように。各列には**単一の**値が含まれていて、データは**冗長**であるべきではありません。より多くのテーブルの列を関連付けることができます。 –

+1

まずデータ構造を標準化し、単一のテキスト値に複数の値を格納しないでください。 – Shadow

答えて

1

使用likeオペレータ方が良い**正規**データベースをいただきたい

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

それは動作します!どうもありがとうございます! –

+0

うまくいきます。しかし、これは実際に**大胆に設計された**データベースを処理するための回避策です。 –

関連する問題