Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

SUPERkonfigurasi - Amazon Redshift

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

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

SUPERkonfigurasi

Anda dapat mengonfigurasi SUPER data Anda untuk skenario tertentu. Bagian berikut memberikan rincian tentang memilih dan menerapkan SUPER konfigurasi yang sesuai berdasarkan persyaratan format data Anda.

Mode longgar dan ketat untuk SUPER

Saat Anda menanyakan SUPER data, ekspresi jalur mungkin tidak cocok dengan struktur SUPER data yang sebenarnya. Jika Anda mencoba mengakses anggota objek atau elemen array yang tidak ada, Amazon Redshift mengembalikan NULL nilai jika kueri dijalankan dalam mode lax default. Jika Anda menjalankan kueri dalam mode ketat, Amazon Redshift mengembalikan kesalahan. Parameter sesi berikut dapat diatur untuk mengatur mode lax on atau off.

Contoh berikut menggunakan parameter sesi untuk mengaktifkan modus longgar.

SET navigate_super_null_on_error=ON; --default lax mode for navigation SET cast_super_null_on_error=ON; --default lax mode for casting SET parse_super_null_on_error=OFF; --default strict mode for ingestion

Mengakses JSON bidang dengan nama atau atribut bidang huruf besar dan huruf campuran

Ketika nama JSON atribut Anda dalam huruf besar atau huruf campuran, Anda harus dapat menavigasi struktur SUPER tipe dengan cara yang peka huruf besar/kecil. Untuk melakukan itu, Anda dapat mengonfigurasi enable_case_sensitive_identifier ke TRUE dan membungkus nama atribut huruf besar dan huruf campuran dengan tanda kutip ganda. Anda juga dapat mengonfigurasi enable_case_sensitive_super_attribute keTRUE. Dalam hal ini, Anda dapat menggunakan nama atribut huruf besar dan huruf campuran dalam kueri Anda tanpa membungkusnya dengan tanda kutip ganda.

Contoh berikut menggambarkan cara mengatur enable_case_sensitive_identifier ke data query.

SET enable_case_sensitive_identifier to TRUE; -- Accessing JSON attribute names with uppercase and mixedcase names SELECT json_table.data."ITEMS"."Name", json_table.data."price" FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; Name | price ------+------- "TV" | 345 (1 row) RESET enable_case_sensitive_identifier; -- After resetting the above configuration, the following query accessing JSON attribute names with uppercase and mixedcase names should return null (if in lax mode). SELECT json_table.data."ITEMS"."Name", json_table.data."price" FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; name | price ------+------- | 345 (1 row)

Contoh berikut menggambarkan cara mengatur enable_case_sensitive_super_attribute ke data query.

SET enable_case_sensitive_super_attribute to TRUE; -- Accessing JSON attribute names with uppercase and mixedcase names SELECT json_table.data.ITEMS.Name, json_table.data.price FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; name | price -----+------- "TV" | 345 (1 row) RESET enable_case_sensitive_super_attribute; -- After resetting enable_case_sensitive_super_attribute, the query now returns NULL for ITEMS.Name (if in lax mode). SELECT json_table.data.ITEMS.Name, json_table.data.price FROM (SELECT json_parse('{"ITEMS":{"Name":"TV"}, "price": 345}') AS data) AS json_table; name | price -----+------- | 345 (1 row)

Opsi penguraian untuk SUPER

Saat Anda menggunakan PARSE fungsi JSON _ untuk mengurai JSON string menjadi SUPER nilai, pembatasan tertentu berlaku:

  • Nama atribut yang sama tidak dapat muncul di objek yang sama, tetapi dapat muncul di objek bersarang. Opsi json_parse_dedup_attributes konfigurasi memungkinkan JSON _ PARSE untuk menyimpan hanya kemunculan terakhir dari atribut duplikat alih-alih mengembalikan kesalahan.

  • Nilai string tidak dapat melebihi ukuran varchar maks sistem 65535 byte. Opsi json_parse_truncate_strings konfigurasi memungkinkan JSON _ PARSE () untuk secara otomatis memotong string yang lebih panjang dari batas ini tanpa mengembalikan kesalahan. Perilaku ini hanya memengaruhi nilai string dan bukan nama atribut.

Untuk informasi selengkapnya tentang PARSE fungsi JSON _, lihatFungsi JSON_PARSE.

Contoh berikut menunjukkan cara mengatur opsi json_parse_dedup_attributes konfigurasi ke perilaku default mengembalikan kesalahan untuk atribut duplikat.

SET json_parse_dedup_attributes=OFF; --default behavior of returning error instead of de-duplicating attributes

Contoh berikut menunjukkan cara mengatur opsi json_parse_truncate_strings konfigurasi untuk perilaku default mengembalikan kesalahan untuk string yang lebih panjang dari batas ini.

SET json_parse_truncate_strings=OFF; --default behavior of returning error instead of truncating strings
PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.