테스트 사이트 - 개발 중인 베타 버전입니다

필드에 쪼개어 담은값 가져오는 like 문 질문 채택완료

마조 8년 전 조회 4,076

하나필드를 쪼게서 예를들어 보증금이있다면

10000|20000|30000|50000 이런식으로 101호, 102호, 103호, 104호의 값을 넣은경우

 

월세의 경우에도  필드를 새로 만든다음 (wr_13) 위처럼 쪼개서 

50|60|80|70 이렇게 들어가게 하면 될까요?

 

호수의 경우에도 필드를 만든다음(wr_14) 위처럼 쪼개서

101|102|103|104 으로 넣으면 될까요?

 

필드를 다 따로 만들어서 많이 만들면 검색시 오히려 불편하시다는 조언이 있으셔서

위처럼 기존  wr_2 필드의  보증금 에다 추가로  wr_13, wr_14 를 추가해서

월세와 호를 넣은다음 검색해서 출력을 할경우

like 문을 이용하면 된다고 하셨는데요..

 

위처럼 쪼개어서  like 문을 만들경우

like 문은 어떻게 만들어 주면 될까요?

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 1개

채택된 답변
+20 포인트
크리티컬팀

안녕하세요 곰이v입니다.

 

SQL문에 대한 내용이군요~

 

like 문법은 문자열을 검색하는 것입니다만,

 

마조님의 질문내용과 같이 검색하는 용도로도 많이 쓰입니다.

 

보통 like 문을 통해서 검색하실때는 where wr_14 like '102'라고 쓰시면 wr_14컬럼에 '102'라는 글자만 검색하게 됩니다.

 

위 like문으로는 '101|102|103|104 '의 내용은 검색이 안되게 되죠...

 

왜냐면 '102'라는 글자만 찾게 되니깐요...

 

이럴때는 '%102%'를 쓰시면 됩니다.

 

where wr_14 like '%102%'이렇게 쓰시면 되죠^^

 

%기호는 가령 리눅스나 도스명령어에서 '*'와 같은 역할을 합니다.

 

"앞에 뭔가 있을수 있다"라는 뜻이죠...

 

고로 where wr_14 like '%102%'의 뜻은 wr_14컬럼에 '102'의 앞뒤에 '%'가 앞뒤로 붙었기 때문에 앞뒤로 뭔가 다른 문자열이 있을수도 있고 없을수도 있다는 뜻이 됩니다.

 

이해를 위해서 한가지 더 설명드리자면,

 

where wr_14 like '%102' 요렇게 앞에만 '%'가 있다면 '102'의 앞에는 뭔가 있을수도 있고 없을수도 있다는 뜻입니다.  하지만 '102'의 뒤에는 아무것도 없어야 하는거죠...

 

결국에는 '102'라는 문자열로 끝나야 한다는 거죠^^

 

긴 답변입니다만, 차근차근 읽어보시면 이해하실수 있을거라 생각됩니다^^

 

감사합니다. 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

마조
8년 전
자세한 답변주셔서 감사드립니다.
like 문 말구요.. 혹시
wr_13 필드에 10000|20000|30000|50000 보증금을
wr_14 필드에 50|60|80|40| 월세를 이렇게 바를 기준으로 값을 넣은경우

단순히 추출해서 출력하는 것이 아닌
보증금별로,웰세별로 출력하기 위해서는
쿼리문에 검색조건을 주어야 한다고 조언을 들었는데요.
위처럼 하나의 필드에 쪼개어서 값을 넣은 경우

10000 만 뽑아서 출력하거나, 20000 만 따로 뽑아서 출력하거나 할려면

어떻게 해주어야 하나요??

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인