월,일 날짜가 떨어진건 어케 조회하나요;;ㅠㅠ 0 3 173

by 많이부족합니다 [2018.07.04 11:13:25]


안녕하세요,.

매번 이곳에서 쿼리 질의에 대한 도움을 받고 있습니다.

너무 감사합니다.ㅠㅠ

 

이번질문은 월과 일이 나눠져잇네요..ㅠㅠ 어렵다..

조회하는방법을 몰라서 ㅠㅠ 알려주시면 감사합니다.

 

select * from test  조회를 햇더니

|mon| day| year|   ---컬럼이름 3개

|03   | 12 | 2018|   ---조회해서 나온 값 

위의 3개 컬럼에 저런형식으로 나누어져 잇는데

저는 2018년 3월1일부터 2018년 6월30일까지 조회하고 싶은데..

어떻게 해야하는지요? ㅠㅠ..

by 우리집아찌 [2018.07.04 12:58:02]

SELECT *

  FROM TEST

 WHERE YEAR = '2018'

    AND MON BETWEEN 03 AND 06


by 열심열심 [2018.07.04 13:21:31]

와 

여기분들 답보면 진짜 감탄합니다. 

저는 3개 컬럼 합쳐서 한 컬럼 추가 할 생각 했는데 이렇게 간단히 되는군요 


by 마농 [2018.07.04 13:22:56]

애초에 날짜 컬럼 하나로 만들었어야 편합니다.
 WHERE year || mon || day BETWEEN '20180301' AND '20180630'
이렇게 붙여서 검색 가능하지만? 컬럼을 가공하여 검색하는 것은 좋지 않습니다.
인덱스가 있어도 제대로 활용하지 못하게 됩니다.
우리집아찌님 답변처럼 컬럼 가공 없이 검색 가능하지만.
이는 동일년도 검색과 월초~월말 검색일때만 한정되는 조건입니다.
년도를 넘어가거나 월초~월말 검색이 아닌 경우엔 조건이 복잡해집니다.
1. 테이블 설계를 바꾸어 컬럼 하나로 만들거나?
2. 컬럼 하나로 묶는 (year || mon || day) 함수 기반 인덱스를 만드세요.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입