2017-10-23 6 views
1

나는 SAS를 사용하여 Oracle 데이터베이스에 연결하고 날짜에 문제가 있습니다. 통과 쿼리를 사용할 때 SAS Timestamp가 아닌 SAS Date로 날짜를 저장하는 "DATEPART()"대신 PL/SQL을 사용할 수 있습니까? LIBNAME 또는 SAS의 SQL 변환기를 사용하지 않으려 고하며 추가 SAS 데이터 단계없이이 작업을 수행하고 싶습니다.오라클 SAS에서 패스 스루 SQL 날짜

DBSASTYPE =으로 실험했지만 패스 스루 SQL에는 적용되지 않습니다.

예 -이 쿼리의 "SYS_DATE"는 SAS Date가 아닌 SAS Timestamp로 저장됩니다.

Proc SQL; 
Create Table WORK.DATE_ORACLE as 
Select * From Connection to ORACLE 
(
SELECT trunc(SYSDATE) as SYS_DATE FROM DUAL 
); 
quit ; 
+0

select * 부분을 수정할 수 있습니까? 오라클에 연결에서 datepart (sys_date)를 선택하십시오 ..... – Reeza

+0

'(SYSDATE as date) SYS_DATE'가 작동합니까? (그것은 SQL 서버에서 작동하며 필자는 오라클에 대해 테스트 할 필요가 없습니다.) – david25272

+0

날짜로 전송이 작동하지 않습니다. 시간 부분을 포함하는 Oracle 날짜로 반환됩니다. SAS가 이것을 타임 스탬프로 읽습니다. – Netbrian

답변

1

Reeza가 주석에서 언급했듯이 비 패스 쓰루 섹션에서 가장 쉽게 수행 할 수 있습니다. 당신이 할 수없는 경우

Proc SQL; 
Create Table WORK.DATE_ORACLE as 
Select datepart(sysdate) as sysdate From Connection to ORACLE 
(
SELECT trunc(SYSDATE) as SYS_DATE FROM DUAL 
); 
quit ; 

는, 당신은 텍스트 문자열로 날짜를 설정을 통해 가져 오는 한 다음 다시 변환 다시 오라클을 요구 떨어져 아마 최고입니다.

+0

이 솔루션을 이용해 주셔서 감사합니다. 내가 원한 것을 정확하게 할 수없는 것처럼 보입니다. – Netbrian