CHECK_XML

CHECK_XML (XML 유효성 검사)

XML 문서의 유효성을 확인해요. 입력 문자열이 NULL이거나 유효한 XML 문서이면 출력은 NULL이에요. XML 파싱 오류가 발생하면 출력 문자열에 오류 메시지가 포함돼요.

참조: PARSE_XML, TO_XML, XMLGET

출처: Snowflake SQL Reference - CHECK_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;

더 알아보기