前のページ|次のページ

QUOTE関数

文字値に二重引用符を付加します。

カテゴリ: 文字
制限事項: この関数は、I18Nレベル1に準拠しています。英語以外の言語を使用する場合、可能な限りI18Nレベル1の関数の使用は避けてください。特定の環境下では、I18Nレベル1の関数は、2バイト文字セット(DBCS)または複数バイト文字セット(MBCS)エンコーディングを使用すると正常に動作しない場合があります。

構文

必須引数

argument-1

文字定数、変数または式を指定します。

argument-2

クオートする文字、すなわち一重引用符または二重引用符を指定します。その他の文字を指定すると無視され、二重引用符が使用されます。二重引用符がデフォルトです。

詳細

返される変数の長さ

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

基本

QUOTE関数は、文字値にデフォルト文字である二重引用符を付加します。引数内から二重引用符が検出されると、さらに二重にして出力されます。
受け取る変数には、引数(末尾の空白も含む)、先頭および末尾の引用符、二重にされた埋め込み引用符を含む十分な長さが必要です。たとえば、引数がABCでその末尾に3つの空白が続く場合、“ABC###”を保持するために受け取る変数の長さは8文字以上であることが必要です。(文字#は空白を表します)。受け取るフィールドの長さが十分でないと、QUOTE関数は空白の文字列を返し、無効な引数というメモをログに書き込みます。

次の例に、QUOTE関数の機能を示します。
SASステートメント
結果
data _null_;
   x='A"B';
   a=quote(x);
   put a=;
run;
a="A""B"
data _null_;
   x='A''B';
   b=quote(x);
   put b=;
run;
b="A'B"
data _null_;
   x='Paul''s';
   c=quote(x);
   put c=;
run;
c="Paul's"
data _null_;
   x='Paul''s Catering Service          ';
   d=quote(trim(x));
   put d=;
run;
d="Paul's Catering Service"
data _null_;
     x='Catering Service Center          ';
     e=quote(trim(x));
     put e=;
run;
e="Catering Service Center"
data _null_;
   x='Catering Service Center          ';
   f=quote(x);
   put f=;
run;
f="Catering Service Center          "
data _null_;
   x='Catering Service Center          ';
   g=quote(x);
   put g=;
run;
g="Catering Service Center          "
data _null_;
   x='Catering Service Center    ';
   h=quote(x);
   put h=;
run;
h="Catering Service Center    "
data_null;
   x=quote('abc');
   put x=;
run;
"abc"
data_null;
   x=quote('abc',"'");
   put x=;
run;
注: 2番目の引数には、一重引用符が含まれています。DATAステップの関数に渡すために、その引数はDATAステップで二重引用符、一重引用符、二重引用符として指定されます。また、引数は4つの一重引用符(すなわち、複数の一重引用符を使用する1つのクオートされる文字列)として指定することもできます。クオートされる値は、2つの一重引用符として表されるエスケープされた一重引用符です。
'abc'
前のページ|次のページ|ページの先頭へ