UPPER_ ATTRIBUTE _ NAMES fungsi - Amazon Redshift

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

UPPER_ ATTRIBUTE _ NAMES fungsi

Mengonversi semua nama atribut yang berlaku dalam SUPER nilai menjadi huruf besar, menggunakan rutin konversi kasus yang sama seperti. UPPER fungsi UPPER_ ATTRIBUTE _ NAMES mendukung UTF -8 karakter multibyte, hingga maksimal empat byte per karakter.

Untuk mengonversi nama SUPER atribut menjadi huruf kecil, gunakan. LOWER_ ATTRIBUTE _ NAMES fungsi

Sintaks

UPPER_ATTRIBUTE_NAMES(super_expression)

Argumen

super_ekspresi

Sebuah ekspresi SUPER.

Jenis pengembalian

SUPER

Contoh

Mengonversi nama SUPER atribut ke huruf besar

Contoh berikut menggunakan UPPER _ ATTRIBUTE _ NAMES untuk mengonversi nama atribut dari semua SUPER nilai dalam 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 fungsi.

  • NULLnilai dan nilai skalar SUPER seperti tidak "a" berubah.

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

  • UPPER_ ATTRIBUTE _ NAMES berlaku secara rekursif ke SUPER objek apa pun yang bersarang di dalam SUPER array atau di dalam objek lain.

Menggunakan UPPER _ ATTRIBUTE _ NAMES pada SUPER objek dengan nama atribut duplikat

Jika sebuah SUPER objek berisi atribut yang namanya hanya berbeda dalam kasusnya, 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.