**これは [InterSystems FAQ サイト](https://faq.intersystems.co.jp/)の記事です。** リストコレクション(Property XXX As list of %String;)で定義したプロパティは、SQL関数: $LISTBUILD() 、$LISTFROMSTRING() を使用して操作できます。 各SQL関数については、下記ドキュメントページをご参照ください。 [InterSystems SQL リファレンス - $LISTBUILD() 【IRIS】](https://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_listbuild) [IRIS SQL リファレンス - $LISTFROMSTRING() 【IRIS】](https://docs.intersystems.com/irislatestj/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_listfromstring) [Caché SQL リファレンス - $LISTBUILD()](https://docs.intersystems.com/latestj/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_listbuild) [Caché SQL リファレンス - $LISTFROMSTRING()](https://docs.intersystems.com/latestj/csp/docbook/DocBook.UI.Page.cls?KEY=RSQL_d_listfromstring)  
/// クラス定義例
Class ISJ.ListOfData Extends %Persistent
{
Property listdata As list Of %String;
}
  SQL文実行例は以下の通りです。   

USER>do $system.SQL.Shell()
--- 表示省略 ---
USER>>insert into ISJ.ListOfData (listdata) values($LISTBUILD('あ','い','う'))
10.     insert into ISJ.ListOfData (listdata) values($LISTBUILD('あ','い','う'))
1 Row Affected
--- 表示省略 ---
↓次は $LISTFROMTOSTRING()を使用した例↓
USER>>insert into ISJ.ListOfData (listdata) values($LISTFROMSTRING('か,き,く'))
12.     insert into ISJ.ListOfData (listdata) values($LISTFROMSTRING('か,き,く')   )
1 Row Affected
statement prepare time: 0.0180s, elapsed execute time: 0.0001s.
---------------------------------------------------------------------------
USER>>quit
USER>set obj=##class(ISJ.ListOfData).%OpenId(1) // オブジェクトで確認
USER>write obj.listdata.Count()
3
USER>write obj.listdata.GetAt(1)

USER>write obj.listdata.GetAt(2)

USER>write obj.listdata.GetAt(3)

USER>set obj=##class(ISJ.ListOfData).%OpenId(2)
USER>for i=1:1:obj.listdata.Count() {write obj.listdata.GetAt(i),!}


  ODBC形式でアクセスするとカンマ区切りデータとして取り扱えます。 ※表示形式変更方法は、DATE型やTIME型カラムに対する方法と同じです。 詳細は関連トピックをご参照ください。 
USER>do $system.SQL.Shell()
-- 表示省略 --
USER>>set selectmode = odbc     // ←ODBCモードへの切り替え
selectmode = odbc
USER>>select * from ISJ.ListOfData
14.     select * from ISJ.ListOfData
ID      listdata
1       あ,い,う
2       か,き,く
2 Rows(s) Affected
statement prepare time: 0.0003s, elapsed execute time: 0.0006s.
---------------------------------------------------------------------------
USER>>update ISJ.ListOfData set listdata='さ,し,す' where ID=1
15.     update ISJ.ListOfData set listdata='さ,し,す' where ID=1
1 Row Affected
statement prepare time: 0.0007s, elapsed execute time: 0.0003s.
---------------------------------------------------------------------------
USER>>select * from ISJ.ListOfData
16.     select * from ISJ.ListOfData
ID      listdata
1       さ,し,す
2       か,き,く
2 Rows(s) Affected
statement prepare time: 0.0003s, elapsed execute time: 0.0005s.
USER>>quit
---------------------------------------------