Fungsi UPPER_ATTRIBUTE_NAMES - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

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

Fungsi UPPER_ATTRIBUTE_NAMES

Mengonversi semua nama atribut yang berlaku dalam nilai SUPER ke huruf besar, menggunakan rutin konversi kasus yang sama seperti. Fungsi UPPER UPPER_ATTRIBUTE_NAMES mendukung karakter multibyte UTF-8, hingga maksimal empat byte per karakter.

Untuk mengonversi nama atribut SUPER menjadi huruf kecil, gunakan. fungsi LOWER_ATTRIBUTE_NAMES

Sintaksis

UPPER_ATTRIBUTE_NAMES(super_expression)

Argumen

super_ekspresi

Ekspresi SUPER.

Jenis pengembalian

SUPER

Contoh

Mengonversi nama atribut SUPER ke huruf besar

Contoh berikut menggunakan UPPER_ATTRIBUTE_NAMES untuk mengonversi nama atribut dari semua nilai SUPER dalam sebuah tabel.

-- Create a table and insert several SUPER values. CREATE TABLE t (i INT, s SUPER); INSERT INTO t VALUES (1, NULL), (2, 'a'::SUPER), (3, JSON_PARSE('{"AttributeName": "b"}')), (4, JSON_PARSE( '[{"Subobject": {"c": "c"}, "Subarray": [{"d": "d"}, "e"] }]')); -- Convert all attribute names to uppercase. UPDATE t SET s = UPPER_ATTRIBUTE_NAMES(s); SELECT i, s FROM t ORDER BY i; i | s ---+-------------------------------------------------- 1 | NULL 2 | "a" 3 | {"ATTRIBUTENAME":"B"} 4 | [{"SUBOBJECT":{"C":"c"},"SUBARRAY":[{"D":"d"}, "e"]}]

Amati bagaimana UPPER_ATTRIBUTE_NAMES berfungsi.

  • Nilai NULL dan nilai SUPER skalar seperti "a" tidak berubah.

  • Dalam objek SUPER, semua nama atribut diubah menjadi huruf besar, tetapi nilai atribut seperti "b" tetap tidak berubah.

  • UPPER_ATTRIBUTE_NAMES berlaku secara rekursif ke objek SUPER apa pun yang bersarang di dalam array SUPER atau di dalam objek lain.

Menggunakan UPPER_ATTRIBUTE_NAMES pada objek SUPER dengan nama atribut duplikat

Jika objek SUPER berisi atribut yang namanya hanya berbeda dalam kasus mereka, UPPER_ATTRIBUTE_NAMES akan memunculkan kesalahan. Pertimbangkan contoh berikut.

SELECT UPPER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}')); error: Invalid input code: 8001 context: SUPER value has duplicate attributes after case conversion.