View a markdown version of this page

Fungsi OBJECT_TRANSFORM - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung penggunaan Python UDF setelah 30 Juni 2026. Kami akan mulai menegakkannya secara bertahap. Untuk informasi lebih lanjut tentang detail opsi akhir masa pakai dan migrasi Python, lihat posting blog yang diterbitkan pada 30 Juni 2025.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Fungsi OBJECT_TRANSFORM

Mengubah objek SUPER.

Sintaksis

OBJECT_TRANSFORM( input [KEEP path1, ...] [SET path1, value1, ..., ... ] )

Argumen

masukan

Ekspresi yang diselesaikan ke objek tipe SUPER.

SIMPAN

Semua nilai jalur yang ditentukan dalam klausa ini disimpan dan dibawa ke objek output.

Klausul ini bersifat opsional.

jalur1, jalur 2,...

Literal string konstan, dalam format komponen jalur dengan tanda kutip ganda yang dibatasi oleh titik. Misalnya, '"a"."b"."c"' adalah nilai jalur yang valid. Ini berlaku untuk parameter path di klausa KEEP dan SET.

MENGATUR

jalur dan pasangan nilai untuk memodifikasi jalur keluar atau menambahkan jalur baru, dan mengatur nilai jalur itu di objek keluaran.

Klausul ini bersifat opsional.

nilai1, nilai 2,...

Ekspresi yang menyelesaikan ke nilai tipe SUPER. Perhatikan bahwa tipe numerik, teks, dan Boolean dapat diselesaikan menjadi SUPER.

Jenis pengembalian

SUPER

Catatan penggunaan

OBJECT_TRANSFORM mengembalikan objek tipe SUPER yang berisi nilai jalur dari input yang ditentukan di KEEP dan jalur dan pasangan nilai yang ditentukan dalam SET.

Jika kedua KEEP dan SET kosong, OBJECT_TRANSFORM mengembalikan input.

Jika input bukan objek tipe SUPER, OBJECT_TRANSFORM mengembalikan input, terlepas dari nilai KEEP atau SET.

Contoh

Contoh berikut mengubah objek SUPER menjadi objek SUPER lainnya.

CREATE TABLE employees ( col_person SUPER ); INSERT INTO employees VALUES ( json_parse(' { "name": { "first": "John", "last": "Doe" }, "age": 25, "ssn": "111-22-3333", "company": "Company Inc.", "country": "U.S." } ') ), ( json_parse(' { "name": { "first": "Jane", "last": "Appleseed" }, "age": 34, "ssn": "444-55-7777", "company": "Organization Org.", "country": "Ukraine" } ') ) ; SELECT OBJECT_TRANSFORM( col_person KEEP '"name"."first"', '"age"', '"company"', '"country"' SET '"name"."first"', UPPER(col_person.name.first::TEXT), '"age"', col_person.age + 5, '"company"', 'Amazon' ) AS col_person_transformed FROM employees; --This result is formatted for ease of reading. col_person_transformed ------------------------------------------------------------- { "name": { "first": "JOHN" }, "age": 30, "company": "Amazon", "country": "U.S." } { "name": { "first": "JANE" }, "age": 39, "company": "Amazon", "country": "Ukraine" }