Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle在Passthrough SQL中向SAS发送日期_Oracle_Sas - Fatal编程技术网

Oracle在Passthrough SQL中向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

我正在使用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 * 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将此解读为感谢您提供此解决方案。看起来我不能完全做我想做的事,这是最接近的。