Oracle在Passthrough SQL中向SAS发送日期
我正在使用SAS连接到Oracle数据库,但在日期方面遇到了问题。当使用传递查询时,是否有替代DATEPART的PL/SQL方法将日期保存为SAS日期,而不是SAS时间戳?我更愿意避免使用LIBNAME或SAS的SQL转换器,并且不希望使用额外的SAS数据步骤 我已经尝试过dbastype=,但它似乎不适用于直通式SQL 示例-此查询中的SYS_日期存储为SAS时间戳,而不是SAS日期Oracle在Passthrough SQL中向SAS发送日期,oracle,sas,Oracle,Sas,我正在使用SAS连接到Oracle数据库,但在日期方面遇到了问题。当使用传递查询时,是否有替代DATEPART的PL/SQL方法将日期保存为SAS日期,而不是SAS时间戳?我更愿意避免使用LIBNAME或SAS的SQL转换器,并且不希望使用额外的SAS数据步骤 我已经尝试过dbastype=,但它似乎不适用于直通式SQL 示例-此查询中的SYS_日期存储为SAS时间戳,而不是SAS日期 Proc SQL; Create Table WORK.DATE_ORACLE as Select * F
Proc SQL;
Create Table WORK.DATE_ORACLE as
Select * From Connection to ORACLE
(
SELECT trunc(SYSDATE) as SYS_DATE FROM DUAL
);
quit ;
正如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 ;
如果你做不到这一点,那么你最好让Oracle将日期转换成文本字符串,把它带过来,然后再重新转换回来。你可以修改select*部分,不是吗?选择datepartsys\u date from connection to ORacle…..将SysDate转换为date作为SYS\u date是否有效?它适用于SQL server,我没有Oracle可供测试。强制转换为日期不起作用-它作为Oracle日期返回,其中包括时间部分。SAS将此解读为感谢您提供此解决方案。看起来我不能完全做我想做的事,这是最接近的。