필드에 쪼개어 담은값 가져오는 like 문 질문
본문
하나필드를 쪼게서 예를들어 보증금이있다면
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'라는 문자열로 끝나야 한다는 거죠^^
긴 답변입니다만, 차근차근 읽어보시면 이해하실수 있을거라 생각됩니다^^
감사합니다.