OBJECT-Funktion - Amazon Redshift

Amazon Redshift unterstützt ab dem 1. November 2025 nicht mehr die Erstellung neuer Python-UDFs. Wenn Sie Python-UDFs verwenden möchten, erstellen Sie die UDFs vor diesem Datum. Bestehende Python-UDFs funktionieren weiterhin wie gewohnt. Weitere Informationen finden Sie im Blog-Posting.

OBJECT-Funktion

Erstellt ein Array des SUPER-Datentyps.

Syntax

OBJECT ( [ key1, value1 ], [ key2, value2 ...] )

Argumente

key1, key2

Ausdrücke, die zu VARCHAR-Typzeichenfolgen ausgewertet werden.

value1, value2

Ausdrücke eines Amazon-Redshift-Datentyps außer Datums- und Uhrzeittypen, da Amazon Redshift die Datums- und Uhrzeittypen nicht in den SUPER-Datentyp umwandelt. Weitere Informationen zu Datums- und Uhrzeittypen finden Sie unter Datum-/Uhrzeittypen.

value-Ausdrücke in einem Objekt müssen nicht denselben Datentyp haben.

Rückgabetyp

SUPER

Beispiel

-- Creates an empty object. select object(); object -------- {} (1 row) -- Creates objects with different keys and values. select object('a', 1, 'b', true, 'c', 3.14); object --------------------------- {"a":1,"b":true,"c":3.14} (1 row) select object('a', object('aa', 1), 'b', array(2,3), 'c', json_parse('{}')); object --------------------------------- {"a":{"aa":1},"b":[2,3],"c":{}} (1 row) -- Creates objects using columns from a table. create table bar (k varchar, v super); insert into bar values ('k1', json_parse('[1]')), ('k2', json_parse('{}')); select object(k, v) from bar; object ------------ {"k1":[1]} {"k2":{}} (2 rows) -- Errors out because DATE type values can't be converted to SUPER type. select object('k', '2008-12-31'::date); ERROR: OBJECT could not convert type date to super