- カテゴリ:
半構造化データ関数と構造化データ関数 (解析)
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
この式は 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 |
+-----------------------------------+
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;