Ich verwende SAS, um eine Verbindung zu einer Oracle-Datenbank herzustellen und Probleme mit den Daten zu bekommen. Gibt es bei Verwendung von Pass-Through-Abfragen eine PL/SQL-Alternative zu "DATEPART()", bei der Datumsangaben als SAS-Datum und nicht als SAS-Zeitstempel gespeichert werden? Ich würde es vorziehen, LIBNAME oder den SQL-Konverter von SAS zu vermeiden, und möchte dies ohne einen zusätzlichen SAS-Datenschritt tun.Oracle Daten zu SAS in Passthrough SQL
Ich habe mit DBSASTYPE = experimentiert, aber es scheint nicht anwendbar auf Passthrough SQL.
Beispiel - "SYS_DATE" aus dieser Abfrage wird als SAS-Zeitstempel und nicht als SAS-Datum gespeichert.
Proc SQL;
Create Table WORK.DATE_ORACLE as
Select * From Connection to ORACLE
(
SELECT trunc(SYSDATE) as SYS_DATE FROM DUAL
);
quit ;
Sie können den Select * -Anteil ändern, nicht wahr? Wählen Sie datepart (sys_date) aus der Verbindung zu ORacle ..... – Reeza
Würde 'cast (SYSDATE als Datum) wie SYS_DATE' funktionieren? (Es funktioniert für SQL-Server, ich habe nicht mit Oracle zu testen). – david25272
Casting als Datum funktioniert nicht - es wird als Oracle-Datum zurückgegeben, das einen Zeitabschnitt enthält. SAS liest das als Zeitstempel – Netbrian