안녕하세요^^ 오늘도 어김없이 한가지 질문요 ^^ 0 2 1,411

by 꾼이되자 [2009.06.01 15:57:38]


DATE (VARCHAR)의 컬럼에 데이터가 '2009-04' 이런식으로 들어가 있습니다.

어떤 쿼리에서 WHERE SUBSTR(DATE ,1,4)||SUBSTR(DATE ,6,2) = '200904'

요런식으로 할때 좌변을 가공했으므로 INDEX를 타지 않지 않습니까?? 그래서 요놈을 이렇게 바꾸었습니다.

WHERE DATE = SUBSTR('200904',1,4)||'-'||SUBSTR('200904',5,2)

이렇게 했더니... INDEX를 잘 타네요...

하지만 '200904'는 파라미터 값이므로 바뀐 조건에 처럼 하지않고 '200904'를 한번만 받아서 사용하고 싶은겁니다.

다른 함수가 있을까요??

by 박민석 [2009.06.01 16:01:22]
'-'를 추가 하고 싶으신거죠?
아래와 같이 날짜로 바꿨다가 다시 포멧을 맞춰서 문자로 바꿔 주세요

TO_CHAR(TO_DATE('200904', 'YYYYMM'),'YYYY-MM')

by 꾼이되자 [2009.06.01 16:03:38]
하하하하하
감사합니다.... 저에게 돌을....ㅠㅠ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입