JSON_EXTRACT_PATH_TEXT 함수 - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

JSON_EXTRACT_PATH_TEXT 함수

JSON_EXTRACT_PATH_TEXT 함수는 JSON 문자열의 연속된 경로 요소에서 참조하는 키:값 페어 값을 반환합니다. JSON 경로는 최대 5개 레벨까지 중첩될 수 있습니다. 경로 요소는 대/소문자를 구분합니다. JSON 문자열에 경로 요소가 존재하지 않으면 JSON_EXTRACT_PATH_TEXT가 빈 문자열을 반환합니다. null_if_invalid 인수가 true로 설정되어 있는데 JSON 문자열이 잘못된 경우, 이 함수는 오류 대신 NULL을 반환합니다.

추가 JSON 함수에 대한 자세한 내용은 JSON 함수 섹션을 참조하세요.

조건

json_extract_path_text('json_string', 'path_elem' [,'path_elem'[, …] ] [, null_if_invalid ] )

인수

json_string

올바른 형식의 JSON 문자열입니다.

path_elem

JSON 문자열의 경로 요소입니다. 경로 요소 1개는 필수이며, 추가로 5개 레벨까지 경로 요소를 지정할 수 있습니다.

null_if_invalid

입력 JSON 문자열이 잘못된 경우 오류 대신 NULL을 반환할지 여부를 지정하는 부울 값입니다. JSON이 잘못되었을 때 NULL을 반환하게 하려면 true(t)를 지정합니다. JSON이 잘못되었을 때 오류를 반환하게 하려면 false(f)를 지정합니다. 기본값은 false입니다.

JSON 문자열에서는 AWS Clean Rooms가 \n을 줄 바꿈 문자로, 그리고 \t를 탭 문자로 인식합니다. 백슬래시를 로드하려면 백슬래시(\\)로 이스케이프하십시오.

반환 유형

경로 요소에서 참조한 JSON 값을 나타내는 VARCHAR 문자열입니다.

다음은 경로 'f4', 'f6'의 값을 반환하는 예입니다.

select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}}','f4', 'f6'); json_extract_path_text ---------------------- star

다음 예에서는 JSON이 잘못되었기 때문에 오류를 반환합니다.

select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6'); An error occurred when executing the SQL command: select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6')

다음 예에서는 null_if_invalidtrue로 설정해 문이 잘못된 JSON에 대해 오류가 아니라 NULL을 반환하도록 합니다.

select json_extract_path_text('{"f2":{"f3":1},"f4":{"f5":99,"f6":"star"}','f4', 'f6',true); json_extract_path_text ------------------------------- NULL

다음은 경로 'farm', 'barn', 'color'의 값을 반환하는 예입니다. 여기서 가져온 값은 세 번째 수준에 있습니다. 이 샘플은 가독성을 높여주는 JSON lint 도구로 형식이 지정되었습니다.

select json_extract_path_text('{ "farm": { "barn": { "color": "red", "feed stocked": true } } }', 'farm', 'barn', 'color'); json_extract_path_text ---------------------- red

다음 예시에는 'color' 요소가 누락되었으므로 NULL이 반환됩니다. 이 샘플은 JSON lint 도구로 형식이 지정되었습니다.

select json_extract_path_text('{ "farm": { "barn": {} } }', 'farm', 'barn', 'color'); json_extract_path_text ---------------------- NULL

JSON이 유효한 경우 누락된 요소를 추출하려고 하면 NULL이 반환됩니다.

다음은 경로 'house', 'appliances', 'washing machine', 'brand'의 값을 반환하는 예입니다.

select json_extract_path_text('{ "house": { "address": { "street": "123 Any St.", "city": "Any Town", "state": "FL", "zip": "32830" }, "bathroom": { "color": "green", "shower": true }, "appliances": { "washing machine": { "brand": "Any Brand", "color": "beige" }, "dryer": { "brand": "Any Brand", "color": "white" } } } }', 'house', 'appliances', 'washing machine', 'brand'); json_extract_path_text ---------------------- Any Brand