カテゴリ:

半構造化データ関数と構造化データ関数 (解析)

CHECK_XML

XML ドキュメントの有効性を確認します。入力文字列が NULL または有効な XML ドキュメントの場合、出力は NULLです。XML 解析エラーの場合、出力文字列にはエラーメッセージが含まれます。

こちらもご参照ください。

PARSE_XML

構文

CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
Copy
CHECK_XML( STR => <string_containing_xml>
  [ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
Copy

引数

必須:

string_containing_xml . OR . STR => string_containing_xml

この式は VARCHAR に評価する必要があります。VARCHAR には有効な XML が含まれている必要があります。

オプション:

disable_auto_convert . OR . DISABLE_AUTO_CONVERT => disable_auto_convert

PARSE_XML 関数に渡すのと同じ値を指定します。

デフォルト: FALSE

戻り値

戻り値のデータ型は VARCHAR です。

使用上の注意

  • すべての引数を名前または位置のいずれかで指定する必要があります。一部の引数を名前で、他の引数を位置で指定することはできません。

    引数を名前で指定する場合は、引数名を二重引用符で囲むことはできません。

XML が有効な場合に関数の出力を表示する

SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL                              |
+-----------------------------------+
Copy

XML が無効な場合に関数の出力を表示する

SELECT CHECK_XML('<name> Invalid </WRONG_CLOSING_TAG>');
+--------------------------------------------------+
| CHECK_XML('<NAME> INVALID </WRONG_CLOSING_TAG>') |
|--------------------------------------------------|
| no opening tag for </WRONG_CLOSING_TAG>, pos 35  |
+--------------------------------------------------+
Copy

無効な XML がある記録を探す

SELECT xml_str, CHECK_XML(xml_str)
    FROM my_table
    WHERE CHECK_XML(xml_str) IS NOT NULL;
Copy