JSON_ARRAY_ELEMENTS (Lakehouse v1)
Extrahiert die Elemente eines JSON-Arrays und gibt sie als einzelne Zeilen der Ergebnismenge zurück. JSON_ARRAY_ELEMENTS erweitert verschachtelte Arrays nicht rekursiv, sondern behandelt sie als einzelne Elemente.
Analyze Syntax
Abschnitt betitelt „Analyze Syntax“func.json_array_elements(<json_string>)Analyze Examples
Abschnitt betitelt „Analyze Examples“func.json_array_elements(func.parse_json('[ \n {"product": "laptop", "brand": "apple", "price": 1500},\n {"product": "smartphone", "brand": "samsung", "price": 800},\n {"product": "headphones", "brand": "sony", "price": 150}\n]'))┌───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ func.json_array_elements(func.parse_json('[ \n {"product": "laptop", "brand": "apple", "price": 1500},\n {"product": "smartphone", "brand": "samsung", "price": 800},\n {"product": "headphones", "brand": "sony", "price": 150}\n]')) │├───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ {"brand":"Apple","price":1500,"product":"Laptop"} ││ {"brand":"Samsung","price":800,"product":"Smartphone"} ││ {"brand":"Sony","price":150,"product":"Headphones"} │└───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘SQL Syntax
Abschnitt betitelt „SQL Syntax“JSON_ARRAY_ELEMENTS(<json_string>)Return Type
Abschnitt betitelt „Return Type“JSON_ARRAY_ELEMENTS gibt eine Menge von VARIANT-Werten zurück, von denen jeder ein aus dem JSON-Eingabearray extrahiertes Element darstellt.
SQL Examples
Abschnitt betitelt „SQL Examples“-- Extract individual elements from a JSON array containing product informationSELECT JSON_ARRAY_ELEMENTS( PARSE_JSON ( '[ {"product": "Laptop", "brand": "Apple", "price": 1500}, {"product": "Smartphone", "brand": "Samsung", "price": 800}, {"product": "Headphones", "brand": "Sony", "price": 150}]' ) );
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ json_array_elements(parse_json('[ \n {"product": "laptop", "brand": "apple", "price": 1500},\n {"product": "smartphone", "brand": "samsung", "price": 800},\n {"product": "headphones", "brand": "sony", "price": 150}\n]')) │├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ {"brand":"Apple","price":1500,"product":"Laptop"} ││ {"brand":"Samsung","price":800,"product":"Smartphone"} ││ {"brand":"Sony","price":150,"product":"Headphones"} │└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
-- Display data types of the extracted elementsSELECT TYPEOF ( JSON_ARRAY_ELEMENTS( PARSE_JSON ( '[ {"product": "Laptop", "brand": "Apple", "price": 1500}, {"product": "Smartphone", "brand": "Samsung", "price": 800}, {"product": "Headphones", "brand": "Sony", "price": 150}]' ) ) );
┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐│ typeof(json_array_elements(parse_json('[ \n {"product": "laptop", "brand": "apple", "price": 1500},\n {"product": "smartphone", "brand": "samsung", "price": 800},\n {"product": "headphones", "brand": "sony", "price": 150}\n]'))) │├─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┤│ VARIANT NULL ││ VARIANT NULL ││ VARIANT NULL │└─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘