sas
PROC SQL 통과 내에서 매크로 변수를 따옴표로 묶기
수색…
소개
SAS를 처음 사용하기 시작할 때 직면 한 어려움 중 하나는 매크로 변수 데이터를 PROC SQL 패스 스루에 전달하는 것이 아니라 주위에 따옴표가 필요하면 제대로 처리하는 것이 었습니다. 값 또는 날짜 / datetime과 같은 문자열을 PROC SQL 통과로 전달할 때 해결할 때 주위에 작은 따옴표가 있어야 할 가능성이 큽니다.
이것을 달성하기 위해 % BQUOTE 함수를 사용할 때 가장 좋은 결과를 발견했습니다.
비고
% BQUOTE 함수에 대한 자세한 내용은 다음을 참조 하십시오. https://v8doc.sas.com/sashtml/macro/z4bquote.htm
날짜 인 매크로 변수의 패스 스루
먼저, 날짜를 매크로 변수에 넣을 것입니다.
참고 : 저는 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'로 해석됩니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow