

 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 ](https://aws.amazon.com/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/) 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 LOWER\_ATTRIBUTE\_NAMES
<a name="r_lower_attribute_names"></a>

Mengonversi semua nama atribut yang berlaku dalam nilai SUPER ke huruf kecil, menggunakan rutin konversi kasus yang sama dengan. [Fungsi LOWER](r_LOWER.md) LOWER\_ATTRIBUTE\_NAMES mendukung karakter UTF-8 multibyte, hingga maksimal empat byte per karakter. 

 Untuk mengonversi nama atribut SUPER menjadi huruf besar, gunakan. [Fungsi UPPER\_ATTRIBUTE\_NAMES](r_upper_attribute_names.md) 

## Sintaksis
<a name="r_lower_attribute_names-synopsis"></a>

```
LOWER_ATTRIBUTE_NAMES( super_expression )
```

## Argumen
<a name="r_lower_attribute_names-arguments"></a>

*super\_ekspresi*  
Ekspresi SUPER.

## Jenis pengembalian
<a name="r_lower_attribute_names-return-type"></a>

`SUPER`

## Catatan penggunaan
<a name="r_lower_attribute_names-usage-notes"></a>

Di Amazon Redshift, pengidentifikasi kolom secara tradisional tidak peka huruf besar/kecil dan diubah menjadi huruf kecil. Jika Anda menyerap data dari format data case-sensitive seperti JSON, data tersebut mungkin berisi nama atribut mixed-case.

Pertimbangkan contoh berikut.

```
CREATE TABLE t1 (s) AS SELECT JSON_PARSE('{"AttributeName": "Value"}');


SELECT s.AttributeName FROM t1;  

attributename
-------------
NULL


SELECT s."AttributeName" FROM t1;

attributename
-------------
NULL
```

Amazon Redshift mengembalikan NULL untuk kedua kueri. Untuk kueri`AttributeName`, gunakan LOWER\_ATTRIBUTE\_NAMES untuk mengonversi nama atribut data menjadi huruf kecil. Pertimbangkan contoh berikut.

```
CREATE TABLE t2 (s) AS SELECT LOWER_ATTRIBUTE_NAMES(s) FROM t1;


SELECT s.attributename FROM t2;

attributename
-------------
"Value"


SELECT s.AttributeName FROM t2; 

attributename
-------------
"Value"


SELECT s."attributename" FROM t2;

attributename
-------------
"Value"


SELECT s."AttributeName" FROM t2;

attributename
-------------
"Value"
```

Opsi terkait untuk bekerja dengan nama atribut objek kasus campuran adalah opsi `enable_case_sensitive_super_attribute` konfigurasi, yang memungkinkan Amazon Redshift mengenali kasus dalam nama atribut SUPER. Ini bisa menjadi solusi alternatif untuk menggunakan LOWER\_ATTRIBUTE\_NAMES. Untuk informasi lebih lanjut tentang`enable_case_sensitive_super_attribute`, kunjungi[enable\_case\_sensitive\_super\_atribut](r_enable_case_sensitive_super_attribute.md).

## Contoh
<a name="r_lower_attribute_names_examples"></a>

**Mengonversi nama atribut SUPER menjadi huruf kecil**  
Contoh berikut menggunakan LOWER\_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 lowercase.
UPDATE t SET s = LOWER_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 LOWER\_ATTRIBUTE\_NAMES berfungsi.
+  Nilai NULL dan nilai SUPER skalar seperti `"A"` tidak berubah. 
+  Dalam objek SUPER, semua nama atribut diubah menjadi huruf kecil, tetapi nilai atribut seperti `"B"` tetap tidak berubah. 
+  LOWER\_ATTRIBUTE\_NAMES berlaku secara rekursif ke objek SUPER apa pun yang bersarang di dalam array SUPER atau di dalam objek lain. 

**Menggunakan LOWER\_ATTRIBUTE\_NAMES pada objek SUPER dengan nama atribut duplikat**  
Jika objek SUPER berisi atribut yang namanya hanya berbeda dalam kasus mereka, LOWER\_ATTRIBUTE\_NAMES akan memunculkan kesalahan. Pertimbangkan contoh berikut.

```
SELECT LOWER_ATTRIBUTE_NAMES(JSON_PARSE('{"A": "A", "a": "a"}'));      

error:   Invalid input
code:    8001
context: SUPER value has duplicate attributes after case conversion.
```