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

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

QA

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

답변 1

본문

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

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

안녕하세요 곰이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'라는 문자열로 끝나야 한다는 거죠^^

 

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

 

감사합니다. 

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

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 136
© SIRSOFT
현재 페이지 제일 처음으로