SAS Teradata ODBC 时间戳

SAS Teradata ODBC timestamp

我正在尝试让我的 SAS Teradata 查询更高效一些。 我可以让外嵌套中的 where timestamp 过滤器工作,但是当我尝试将它放在内嵌套中时它不起作用。我知道我忽略了一些非常简单的事情。感谢您的帮助!

SELECT  *
FROM    CONNECTION TO ODBC                                       
       (
        SELECT   name, ID, timestamp

        FROM    TD.table
        WHERE   
        timestamp > 1764460800
        )
/*          where timestamp > 1764460800 */
/*outside nest*/
;
quit;

1764460800 = 2015 年 11 月 30 日

使用传递时,您需要'pass through' 底层数据库的有效语法。在这种情况下,您正在寻找:

proc sql;
SELECT  *
FROM    CONNECTION TO ODBC                                       
       (
        SELECT   name, ID, timestamp

        FROM    TD.table
        WHERE   
        timestamp > date '2015-11-30' /* Teradata format */
        )
        where timestamp > 1764460800  /* SAS format */
;
quit;