

 Amazon Redshift tidak akan lagi mendukung pembuatan UDF Python baru mulai Patch 198. UDF Python yang ada akan terus berfungsi hingga 30 Juni 2026. Untuk informasi lebih lanjut, 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/). 

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\_attribute](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.
```