【发布时间】:2017-10-23 21:36:12
【问题描述】:
我正在使用 SAS 连接到 Oracle 数据库,但遇到了日期问题。使用传递查询时,是否有 PL/SQL 替代“DATEPART()”将日期保存为 SAS 日期,而不是 SAS 时间戳?我宁愿避免使用 LIBNAME 或 SAS 的 SQL 转换器,并且希望在没有额外的 SAS 数据步骤的情况下做到这一点。
我已经尝试过 DBSASTYPE= ,但它似乎不适用于直通 SQL。
示例 -- 此查询中的“SYS_DATE”存储为 SAS 时间戳而不是 SAS 日期。
Proc SQL;
Create Table WORK.DATE_ORACLE as
Select * From Connection to ORACLE
(
SELECT trunc(SYSDATE) as SYS_DATE FROM DUAL
);
quit ;
【问题讨论】:
-
你可以修改 select * 部分,不是吗?从连接到 ORacle 中选择 datepart(sys_date).....
-
cast(SYSDATE as date) as SYS_DATE会起作用吗? (它适用于 SQL 服务器,我没有要测试的 Oracle)。 -
转换为日期不起作用 - 它作为 Oracle 日期返回,其中包括时间部分。 SAS 将其读取为时间戳