EXISTSNODEは、XML変数にXpathパスのノードが存在するかどうかを判断します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
EXISTSNODE(XMLType_instance,XPath_string [,namespace_string])
パラメータの説明
| パラメータ | 説明 |
|---|---|
| XML_Type_instance | 送信されるxmltype変数。 |
| XPath_string | XPATHパス文字列。 |
| namespace_string | プレフィックスのデフォルトマッピングまたはネームスペースマッピングを指定します(オプションパラメータ)。 |
戻り値
- XPATHで指定されたノードが存在する場合は1を返します。
- XPATHで指定されたノードが存在しない場合は0を返します.
例
以下の例では、XMLType型の変数c2を作成し、XML文字列を代入します。次に、c2のEXISTSNODEメソッドを呼び出して、「a/b」という名前のXPTAHパスが存在するかどうかをチェックし、結果を変数t1に代入します。最後に、dbms_output.put_line関数を使用してt1の値をコンソールに出力します。
obclient> DECLARE
t1 int;
c2 xmltype;
BEGIN
c2 := xmltype('<a><b>aaa</b><b>bbb</b></a>');
t1 := c2.existsnode('a/b');
dbms_output.put_line(t1);
end;
/
Query OK, 1 row affected (0.153 sec)