前のページ|次のページ

NLITERAL関数

指定した文字列をSAS名前リテラルに変換します。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル2に準拠しており、SBCS、DBCSおよびMBCS(UTF8)での使用目的で設計されています。

構文

NLITERAL(string)

必須引数

string

SAS名リテラルに変換する文字定数、変数または式を指定します。

制限事項 文字列が有効なSAS変数名であれば、変更されません。
ヒント 文字のリテラル文字列を引用符で囲みます。

詳細

返される変数の長さ

DATAステップでは、まだ長さが割り当てられていない変数にNLITERAL関数から値が返される場合、その変数には200バイトの長さが設定されます。

基本

Stringは、デフォルトのルールでSAS変数名とみなされない限り、名前リテラルに変換されます。これらのデフォルトのルールは、SASシステムオプションのVALIDVARNAME=V7が次の場合に適用されます。
  • 英文字またはアンダースコアで始まる。
  • それ以降の文字はすべて英文字、アンダースコアまたは数字である。
  • 32文字以下の英数字が使用されている。
次のルールのすべてが満たされると、StringはSAS変数名とみなされます。
NLITERAL関数は、stringの内容に基づいて、stringの値を一重または二重引用符で囲みます。
stringの値
結果
アンパサンド(&)
一重引用符で囲む
パーセント記号(%)
一重引用符で囲む
一重引用符より二重引用符が多い
一重引用符で囲む
前述のすべてに該当しない
二重引用符で囲む
結果のn-literalに十分なスペースがない場合、NLITERALは空白の文字列を返し、エラーメッセージを出力し、_ERROR_を1に設定します。

NLITERALの複数の使用法を次の例に示します。
data test;
   input string $32.;
   length result $ 67;
   result=nliteral(string);
   datalines;
abc_123
This and That
cats & dogs
Company's profits (%)
"Double Quotes"
'Single Quotes'
;
proc print;
title 'Strings Converted to N-Literals or Returned Unchanged';
run;
NLITERALで文字列を名前リテラルに変換した結果の出力
NLITERALで文字列を名前リテラルに変換した結果の出力

関連項目:

システムオプション:
VALIDVARNAME=システムオプション (SAS各国語サポート(NLS):リファレンスガイド)
その他のリファレンス:
Words in the SAS Language (SAS言語リファレンス: 解説編)
前のページ|次のページ|ページの先頭へ