表に格納しているXMLデータの内容に対して条件を指定するためには、CONTAINS関数を使用します。
CONTAINS関数をWHERE句の中で使用することで、特定の条件を満たすXMLデータを格納している行を対象として、データの取り出し、データの更新、データの削除を行うことができます。CONTAINS関数については、“付録B CONTAINS関数の記述形式”を参照してください。
CONTAINS関数中で指定する、XMLデータに対する条件の指定方法については、“5.3 XMLデータに対する絞込み条件の指定”および“第6章 XML検索式”を参照してください。
以下に、XMLデータの内容に応じた行を操作する例を示します。
取引日付を格納してある列“取引日付”の値が2007年04月以前であり、XMLデータ中の要素“発行者”の値が“A社”である場合のXMLデータを検索
SELECT 伝票 FROM 伝票スキーマ.伝票表 WHERE 取引日付 < '2007-04-01' AND CONTAINS (伝票, XML (XMLGR,'/[//発行者 = " A社" ]')) > 0; (1) (2) (3)
(1)検索対象列名
(2)XMLグループ名
(3)XML検索式
検索対象列名で指定した列の内容に対する条件を指定します。
CONTAINS関数は、検索対象列名で指定した列の内容が、XML検索式に一致する場合に1が返ります。一致しない場合は、0が返ります。
XML検索式の書式については、“5.3 XMLデータに対する絞込み条件の指定”および“第6章 XML検索式”を参照してください。