使用作為日期的巨集變數傳遞

首先,我將我的日期放入巨集變數。

注意:我發現 date9。適用於 IBM®Netezza®SQL 和 Transact-SQL。使用適用於你正在執行的 SQL 型別的格式。

data _null_;
            call symput('testDate',COMPRESS(put(today(),date9.)));
;RUN;
%PUT &testDate;

我的%PUT 語句解析為:10MAR2017

接下來,我想執行 PROC SQL Pass-through 並解決其中的巨集變數以指定日期。

PROC SQL;
CONNECT TO odbc AS alias (dsn=myServer user=userName password= pass);
CREATE TABLE TableName AS 
SELECT * 
FROM connection to alias
    (
        SELECT *
        FROM
            Database.schema.MyTable
        WHERE
            DateColumn = %bquote('&testDate')
    );
QUIT;

當程式碼執行時,%bquote(’&testDate’)將解析為'10MAR2017’。