Chapter Contents |
Previous |
Next |
%BQUOTE and %NRBQUOTE |
Type: | Macro quoting functions | ||
See also: |
|
Syntax | |
Details | |
Tip | |
Comparisons | |
Example | |
Quoting a Variable |
Syntax |
%BQUOTE (character string | text expression) |
%NRBQUOTE (character string | text expression) |
Details |
The %BQUOTE and %NRBQUOTE functions mask a character string or resolved value of a text expression during execution of a macro or macro language statement. They mask the following special characters and mnemonic operators:
' " ( ) + - * / < > = ¬ ^ ~ ; , blank AND OR NOT EQ NE LE LT GE GT
In addition, %NRBQUOTE masks
& %
%NRBQUOTE is most useful when the resolved value of an argument may contain
Tip |
You can use %BQUOTE and %NRBQUOTE for
all execution-time macro quoting because they mask all characters and mnemonic
operators that can be interpreted as elements of macro language. Quotation
marks (
'
"
) and parentheses (
(
)
) that do not have a match do
not have to be marked.
For a description of quoting in SAS macro language, see Chapter 7, "Macro Quoting," in SAS Macro Language: Reference.
Comparisons |
Example |
%macro fileit(infile); %if %bquote(&infile) NE %then %do; %let char1 = %bquote(%substr(&infile,1,1)); %if %bquote(&char1) = %str(%') or %bquote(&char1) = %str(%") %then %let command=FILE &infile; %else %let command=FILE "&infile"; %end; %put &command; %mend fileit; %fileit(myfile) %fileit('myfile')Executing this program writes to the log:
FILE "myfile" FILE 'myfile'
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright 1999 by SAS Institute Inc., Cary, NC, USA. All rights reserved.