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

Fungsi COLLATE mengesampingkan pemeriksaan kolom string atau ekspresi.

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

Untuk informasi tentang cara membuat database menggunakan pemeriksaan database, lihat. BUAT BASIS DATA

Sintaksis

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

Argumen

tali

Kolom string atau ekspresi yang ingin Anda timpa.

'case_sensitive' | 'cs' | 'case_insensitive' | 'ci'

Sebuah konstanta string dari nama pemeriksaan. Amazon Redshift hanya mendukung nilai berikut untuk parameter ini:

  • case_sensitive

  • cs

  • case_insensitive

  • ci

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 mengembalikan VARCHAR atau CHAR tergantung pada jenis ekspresi input pertama. Fungsi ini hanya mengubah pengumpulan 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 kembali. john Setelah fungsi COLLATE berjalan pada col1, pemeriksaan menjadi. case_insensitive Query 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 danjohn. JOHN Setelah fungsi COLLATE berjalan pada col1, pemeriksaan menjadi. case_sensitive Kueri kedua hanya mengembalikanjohn.

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