前のページ|次のページ

%KUPCASEと%QKUPCASEマクロ関数

値を大文字に変換します。

カテゴリ: DBCS
種類: NLSマクロ関数

構文

%KUPCASE (character string | text expression)
%QKUPCASE (character string | text expression)

詳細

%KUPCASEと%QKUPCASE関数は、引数内の小文字を大文字に変換します。%KUPCASEは、特殊文字とニーモニック演算子をマスクせずに値を返します。
引数が次の特殊文字またはニーモニック演算子を含む場合は、%QKUPCASEを使用します。%QKUPCASEは、次の特殊文字とニーモニック演算子をマスクして値を返します。
& % ' " ( ) + − * / < > = ¬ ^ ~ ; , # blank
AND OR NOT EQ NE LE LT GE GT IN
値を比較する場合、マクロ機能では比較前に小文字から大文字に自動的には変換しないため、%KUPCASEと%QKUPCASEが役に立ちます。

例1: 比較する値を大文字に変更する

この例では、マクロRUNREPTは、マクロ変数MONTHの入力値と文字列DECを比較します。大文字に変換された値がDECの場合、PROC FSVIEWはデータセットREPORTS.ENDYEARで実行されます。DECではない場合、PROC FSVIEWは、REPORTSデータライブラリの月名のデータセットで実行されます。
%macro runrept(month);
   %if %kupcase(&month)=DEC %then
       %str(proc fsview data=reports.endyear; run;);
   %else %str(proc fsview data=reports.&month; run;);
%mend runrept;
%IF条件を満たすには、次のいずれかの方法でマクロを起動します。
%runrept(DEC)
%runrept(Dec)
%runrept(dec)

例2: %KUPCASEと%QKUPCASEの比較

次のステートメントは、%KUPCASEと%QKUPCASEにより生成される結果を示します。
%let a=begin;
%let b=%nrstr(&a);
%put KUPCASE produces: %kupcase(&b);
%put QKUPCASE produces: %qkupcase(&b);
ステートメントが実行されると、SASログに次の行が出力されます。
KUPCASE produces: BEGIN
QKUPCASE produces: &A
前のページ|次のページ|ページの先頭へ