마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sql 쿼리 질문...

0 추천

COURSE_LIST(_id integer PRIMARY KEY autoincrement, course_name text , course_day text);

현재 데이터가

월, 화, 수, 목, 금     /     월,수,금   /      화,목,토       / 월 ,목 / 월 / 이런형태로 course_day 컬럼에 저장되어있습니다

요일별 검색기능을 만들고 있는데.

체크박스를 7개(월/화/수/목/금/토/일)  만들어놓고,

es) 월, 수, 금을 체크하면 요일이 "월,수,금" 인.. 데이터만 뜨게 하려고하는데요..

ex) 화,목을 체크하면 요일이 "화,목"인 데이터만 뜨게 하고 싶습니다.

 

일단 체크박스에 체크가 되면

String mon = "", tue = "", wed = "", thu = "", fri = "", sat = "",
			sun = "";

	public void onCheckboxClicked(View view) {
		boolean checked = ((CheckBox) view).isChecked();

		switch (view.getId()) {
		case R.id.select_mon:
			if (checked) {
				mon = "월";
			} else
				mon = "";
			break;
		case R.id.select_tue:
			if (checked) {
				tue = "화";
			} else
				tue = "";
			break;
		case R.id.select_wed:
			if (checked) {
				wed = "수";
			} else
				wed = "";
			break;
		case R.id.select_thu:
			if (checked) {
				thu = "목";
			} else
				thu = "";
			break;
		case R.id.select_fri:
			if (checked) {
				fri = "금";
			} else
				fri = "";
			break;
		case R.id.select_sat:
			if (checked) {
				sat = "토";
			} else
				sat = "";
			break;
		case R.id.select_sun:
			if (checked) {
				sun = "일";
			} else
				sun = "";
			break;

		}

 

sun,mon,tue,wed,thu,fri,sat .... 이라는 변수에 해당요일이 저장되게 해놨습니다..
 
월요일이 체크되어있으면 ->  mon="월";이런식으로요..
 
sql에서 like문을 썼더니 월, 수만 체크해도 월,화,수,목 이런게 다떠서..해결방안없을까요...
 
sql 문에서 조건을 아래와 같은 식으로 달았습니다....
 
where course_day LIKE '%" + mon
+ "%' AND course_day LIKE '%" + tue
+ "%' AND course_day LIKE '%" + wed
+ "%' AND course_day LIKE '%" + thu + "%' "; 
 
 
 
 
 
 
 
쩹팝 (400 포인트) 님이 2014년 6월 2일 질문
쩹팝님이 2014년 6월 3일 수정
테이블구조를 올려주셔야 도와드릴수 있을꺼 같아요..

1개의 답변

0 추천
 
채택된 답변
like 쓰실때 혹시 어떻게 쓰셨는지 볼수 있을까요?? Or을 쓰셨다거나 %를 넣었다거나 하신건 아닌지요??
YeonMin (17,860 포인트) 님이 2014년 6월 3일 답변
쩹팝님이 2014년 6월 4일 채택됨
%쓰면 안되는거였나요...ㅠ;;;
%쓰면 그 문자열을 포함한 모든 내용을 검색합니다;; 예를들면 %월% 이렇게 하면 앞 뒤에 다른 문자가 있고 월이 포함된 문자열을 검색하죠;;
질문자께서 올린 쿼리문은...어떤 요일이 들어가든 전체가 나올겁니다ㅠ
ㅠㅠ답변감사드립니다.. 어떻게 방법이 없을까요....
음.....저때는 혹시공백이 입력됬다면 검색하지 않고 넘어가도록 해야 할 것 같습니다...손쉽게 하려면 배열로 사용해서 for돌리는게 일일이 if문 걸어주는 것보다 효율적이겠죠..질문자께서 올려준 쿼리가 맞지만 공백(문자열 상 null)때문에 그런거 같습니다..
감사합니다!!
배열을 생각을 못했네요!! ^^ 덕분에 드디어 해결했습니다..ㅠㅠㅠ
ㅎㅎ 해결됬다니 다행이네요~즐코딩하세요~
...