View a markdown version of this page

Fungsi COLLATE - Amazon Redshift

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 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 COLLATE

Fungsi COLLATE mengesampingkan kolasi kolom string atau ekspresi.

Untuk informasi tentang cara membuat tabel menggunakan kolasi database, lihatCREATE TABLE.

Untuk informasi tentang cara membuat database menggunakan pengumpulan basis data, lihatBUAT BASIS DATA.

Sintaksis

COLLATE( string, 'case_sensitive' | 'cs' | 'case_insensitive' | 'ci');

Argumen

senar

Kolom string atau ekspresi yang ingin Anda ganti.

'case_sensitive' | 'cs' | 'case_in sensitive' | 'ci'

Konstanta string dari nama kolasi. Amazon Redshift hanya mendukung nilai berikut untuk parameter ini:

  • peka kasus

  • cs

  • kasus_tidak sensitif

  • le

case_sensitive dan cs dapat dipertukarkan dan menghasilkan hasil yang sama. Demikian pula, case_insensitive dan ci dapat dipertukarkan dan menghasilkan hasil yang sama.

Jenis pengembalian

Fungsi COLLATE mengembalikanVARCHAR,CHAR, atau SUPER tergantung pada jenis ekspresi masukan pertama. Fungsi ini hanya mengubah kolasi argumen input pertama dan tidak akan mengubah nilai outputnya.

Contoh

Untuk membuat tabel T dan mendefinisikan col1 dalam tabel T sebagaicase_sensitive, gunakan contoh berikut.

CREATE TABLE T ( col1 Varchar(20) COLLATE case_sensitive ); INSERT INTO T VALUES ('john'),('JOHN');

Saat Anda menjalankan kueri pertama, Amazon Redshift hanya kembalijohn. Setelah fungsi COLLATE berjalan pada col1, kolasi menjadi. case_insensitive Kueri kedua mengembalikan keduanya john danJOHN.

SELECT * FROM T WHERE col1 = 'john'; +------+ | col1 | +------+ | john | +------+ SELECT * FROM T WHERE COLLATE(col1, 'case_insensitive') = 'john'; +------+ | col1 | +------+ | john | | JOHN | +------+

Untuk membuat tabel A dan mendefinisikan col1 dalam tabel A sebagaicase_insensitive, gunakan contoh berikut.

CREATE TABLE A ( col1 Varchar(20) COLLATE case_insensitive ); INSERT INTO A VALUES ('john'),('JOHN');

Saat Anda menjalankan kueri pertama, Amazon Redshift mengembalikan keduanya john danJOHN. Setelah fungsi COLLATE berjalan pada col1, kolasi menjadi. case_sensitive Kueri kedua hanya kembalijohn.

SELECT * FROM A WHERE col1 = 'john'; +------+ | col1 | +------+ | john | | JOHN | +------+ SELECT * FROM A WHERE COLLATE(col1, 'case_sensitive') = 'john'; +------+ | col1 | +------+ | john | +------+