기존 쿼리문에 날짜조건을 넣고 싶은데 조회가 안됩니다. 0 7 1,039

by 보일듯말듯 [SQL Query] [2016.12.16 11:05:35]


m_id l_cd poll_id answer answer_Rem answer_date update_date reg_id
44750 A50025 3 2 관리 담당자가 있으면  2016-11-24 오전 11:26:30 2016-11-24 오전 11:26:30 194
39298 R00042 3 2 없습니다. 2016-04-06 오전 10:28:46 2016-04-06 오전 10:28:46 194
43209 R00135 3 2 없습니다. 2016-09-13 오후 1:01:15 2016-09-13 오후 1:01:15 71
41127 R00002 3 2 계약기간이 끝난 후 재계약이나  2016-06-07 오후 5:03:11 2016-06-07 오후 5:03:11 71
44318 L00182 3 2 없습니다. 2016-11-10 오전 11:59:15 2016-11-10 오전 11:59:15 71
37853 R00022 3 2 타사의 자기부담금이 10만원인데  2016-02-03 오후 6:17:01 2016-02-03 오후 6:17:01 194

 

SELECT poll_id,
       COUNT(m_id) cnt
  FROM CONT_CALL
 WHERE poll_id ='3'
       AND answer = '2'
       AND poll_s_id IS NULL
 GROUP BY poll_id ; 

실행결과 : poll_id = 3, cnt = 6

여기에 날짜 검색 조건을 넣고 싶어서

SELECT poll_id,
       COUNT(m_id) cnt
  FROM CONT_CALL
 WHERE poll_id ='3'
       AND answer = '2'
       AND poll_s_id IS NULL
       AND TO_CHAR(ANSWER_DATE, 'YYYY-MM-DD') BETWEEN replace('2016-09-01', '-','') AND replace('2016-12-31', '-','')
 GROUP BY poll_id ; 

이렇게 했는데 결과 조회가 안됩니다. ..

제가 무엇을 잘 못 쓴건가요???????

by 우리집아찌 [2016.12.16 11:14:31]

answer_date 를 캐릭터형으로 yyyy-mm-dd로 바꾸시고 조건을 yyyymmdd 로 하시니 안되시죠

쿼리는 다른분이 ..


by 보일듯말듯 [2016.12.16 11:20:29]

아 ..

 

감사합니다.


by jkson [2016.12.16 11:36:15]

컬럼에 함수 씌우면 INDEX 활용이 안 됩니다.

되도록 컬럼에는 함수 씌우지 마세요.

AND ANSWER_DATE BETWEEN TO_DATE('2016-09-01','YYYY-MM-DD') AND TO_DATE('2016-12-31','YYYY-MM-DD') + 0.99999


by 보일듯말듯 [2016.12.16 13:06:40]

DATE 값이 "2007-08-22 오후 4:01:06 " 이렇게 들어가 있어서요 ...


by jkson [2016.12.16 13:16:41]

date형이니 그렇게 보이겠죠? 제가 적어드린대로 해보세요. 잘 될겁니다.


by 우리집아찌 [2016.12.16 13:10:51]

date 값이 그렇게 보이는건 툴이나 nls date format 값 설정에 의해 표현되는것입니다


by 마농 [2016.12.16 13:57:04]

1. 조건 줄 때
  - 컬럼을 조건값 형식으로 변형시켜 비교하는 것은 비효율입니다.
  - 컬럼은 그대로 둔 채 조건값을 컬럼 형식에 맞게 변형시켜 비교하세요.
2. 카운트 할 때
  - 컬럼을 카운트 하는 것은 컬럼에 널인것을 제외하고 카운트 할때나 의미가 있습니다.
  - m_id 는 널이 있을것 같지 않네요.
  - COUNT(m_id) 하는 것은 비효율입니다.
  - COUNT(*) 하세요.

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