マクロの実行時に、置換された値に含まれている特殊文字やニーモニック演算子をマスクします。
| 種類: | マクロクォーティング関数 |
| 参照項目: | %BQUOTE関数と%NRBQUOTE関数, %NRBQUOTE関数, %NRSTR関数、および %SUPERQ関数 |
+ − * / < > = ¬ ^ ~ ; , # blank AND OR NOT EQ NE LE LT GE GT IN
%によりマークされている場合に、その文字をマスクします。
' "
& %
%でマークする必要はありません。一方、%QUOTE関数および%NRQUOTE関数では、それらの引用符をマークする必要があります。
%macro dept1(state);
/* without %quote -- problems might occur */
%if &state=nc %then
%put North Carolina Department of Revenue;
%else %put Department of Revenue;
%mend dept1;
%dept1(or)orはこの式では論理演算子として評価されることになります。このため、マクロプロセッサは式or=ncに無効なオペランドが含まれているというエラーメッセージを出力します。
%macro dept2(state);
/* with %quote function--problems are prevented */
%if %quote(&state)=nc %then
%put North Carolina Department of Revenue;
%else %put Department of Revenue;
%mend dept2;
%dept2(or)orとncを比較し、次のメッセージをSASログに書き込みます。 Department of Revenue