CHECK_XML
CHECK_XML (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 또는 STR => <string_containing_xml>
유효한 XML을 포함하는 VARCHAR 값으로 평가되는 표현식을 지정해요.
선택:
disable_auto_convert 또는 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;
더 알아보기
- Semi-structured and structured data functions (Parsing) — 파싱 함수 모음
- PARSE_XML — XML 파싱
- XMLGET — XML 값 추출