Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

$LISTFROMSTRING

文字列からリストを作成するリスト関数。

Synopsis

$LISTFROMSTRING(string[,delimiter])

引数

string Caché リストに変換される文字列。この文字列には、delimiter によって区切られた 1 つ以上の要素が含まれます。delimiter は、作成される Caché リストの構成要素にはなりません。
delimiter オプション — string 内の部分文字列 (要素) を分離するために使用される区切り文字。delimiter は、引用符付きの文字列として指定します。delimiter を指定しない場合、既定はコンマ (,) 文字です。

説明

$LISTFROMSTRING は、各要素が区切られた引用符付き文字列を受け取り、リストを返します。リストは、区切り文字列を使用しないエンコード形式でデータを表します。したがって、リストには可能な文字をすべて含めることができますが、ビット文字列データに最適です。リストは、ObjectScript および Caché SQL $LIST 関数を使用して操作されます。

引数

string

文字列リテラル (一重引用符で囲まれた)、数値、あるいは文字列に評価される変数または式。この文字列には、delimiter によって区切られた 1 つ以上の部分文字列 (要素) を含めることができます。delimiter 文字は出力リストに表示されないため、文字列のデータ要素には delimiter 文字 (または文字列) を含めることはできません。

delimiter

入力文字列内の部分文字列を区切るのに使用される文字 (または文字列)。(一重引用符で囲まれた) 数値または文字列リテラル、変数名、あるいは文字列として評価される式を指定できます。

通常、区切り文字には、文字列データ内で決して使用されることがなく、部分文字列を区切る文字としてのみ使用する特定の文字を設定します。区切り文字には、複数文字から成る文字列を指定することもできますが、それを構成する個々の文字は文字列データ内で使用できます。delimiter を指定しない場合、既定の区切り文字はコンマ (,) です。

以下の埋め込み SQL の例は、空白で区切られた名前の文字列を受け取り、リストを作成します。

   SET names="Deborah Noah Martha Bowie"
   &sql(SELECT $LISTFROMSTRING(:names,' ')
        INTO :namelist)
   IF SQLCODE=0 {
      FOR n=1:1:$LISTLENGTH(namelist) {WRITE !,"element ",n,": ",$LIST(namelist,n)}
   }
   ELSE {WRITE !,"Error code;",SQLCODE }

以下の埋め込み SQL の例では、既定の区切り文字 (コンマ) を使用してリストを作成します。

   SET names="Deborah,Noah,Martha,Bowie"
   &sql(SELECT $LISTFROMSTRING(:names)
        INTO :namelist)
   IF SQLCODE=0 {
    FOR n=1:1:$LISTLENGTH(namelist) {WRITE !,"element ",n,": ",$LIST(namelist,n)}
   }
   ELSE {WRITE !,"Error code;",SQLCODE }

関連項目

FeedbackOpens in a new tab