오라클 날짜조건 TO_CHAR변환하여 WHERE절에 사용 가능한가요?? 0 3 2,074

by 아싸헛스윙 [SQL Query] [2016.01.19 09:12:10]


안녕하세요

 

오라클 단순문법이 생소하여 이렇게 질문드립니다...

 

2일전 날짜를 변수에 담고 변수의값과 특정 컬럼의 날짜를 비교해서 

 

쿼리를 실행해야하는데 연동이 잘되지않는부분이 있어 질문드립니다..

 

//변수선언

tmpDate := TO_CHAR(SYSDATE-2, 'YYYYMMDD'); 

ex) 조건 X.DT_UPDATE는 nvarchar로 '20160118' 이런형식입니다.

 

위와 같이 변수를 선언한 후 조건절에서 아래처럼 사용하면 문제가 되나요?

'WHERE X.DT_UPDATE >= tmpDate'

 

아니면 tmpDate 변수와 X.DT_UPDATE를 TO_DATE()로 변환해서 사용해야하나요??

답변 꼭좀부탁드립니다 ㅠㅠ

----------------------------------------------------------------------------------------

추가로 제가 빠트린게있어서 글수정하였습니다.

현재 'DT_UPDATE' 컬럼은 mssql의 뷰테이블에서 제공되는 nvarchar(8)이구요

tmpDate는 오라클에서 변수 사용하여 데이터타입은 varcher(8)로 선언하였습니다.

이렇게 DB링크 이용하여 비교문 사용 시 제가 빠트린 부분이 있는지 판단이안됩니다..

by 마농 [2016.01.19 09:37:40]

문자끼리 비교라면? 문제 없을 듯 합니다. 다시 한번 확인해 보세요.


by 아싸헛스윙 [2016.01.19 09:44:27]

제가 빠트린부분이 있네요.. 한컬럼은 mssql nvarchar이고 

tmpDate는 오라클 varcher입니다.. 단순 문자기 때문에 상관없을까요?


by 마농 [2016.01.19 09:57:51]

이기종이라면 좀 다를 수도 있죠.

실제 수행해보고 결과를 토대로 판단하시면 될 듯 하네요.

잘 안되시면 타입 변환함수인 CAST 함수를 이용해 보세요.

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