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
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" }