- カテゴリ:
- 半構造化データ関数と構造化データ関数 (解析) 
CHECK_XML¶
XML ドキュメントの有効性を確認します。入力文字列が NULL または有効な XML ドキュメントの場合、出力は NULLです。XML 解析エラーの場合、出力文字列にはエラーメッセージが含まれます。
構文¶
CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
CHECK_XML( STR => <string_containing_xml>
  [ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
引数¶
必須:
- string_containing_xml. OR .- STR => string_containing_xml
- 有効な XML を含む VARCHAR 値に評価される式を指定します。 
オプション:
- disable_auto_convert. OR .- DISABLE_AUTO_CONVERT => disable_auto_convert
- PARSE_XML 関数に渡すのと同じ値を指定します。 - デフォルト: - FALSE
戻り値¶
戻り値のデータ型は VARCHAR です。
使用上の注意¶
- すべての引数を名前または位置のいずれかで指定する必要があります。一部の引数を名前で、他の引数を位置で指定することはできません。 - 引数を名前で指定する場合は、引数名を二重引用符で囲むことはできません。 
例¶
以下の例では、 CHECK_XML 関数を使用しています。
XML が有効な場合に関数の出力を表示する¶
SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL                              |
+-----------------------------------+
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  |
+--------------------------------------------------+
無効な XML がある記録を探す¶
SELECT xml_str, CHECK_XML(xml_str)
  FROM my_table
  WHERE CHECK_XML(xml_str) IS NOT NULL;