Kondisi pencocokan pola - Amazon Redshift

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

Kondisi pencocokan pola

Operator pencocokan pola mencari string untuk pola yang ditentukan dalam ekspresi kondisional dan mengembalikan true atau false tergantung pada apakah ia menemukan kecocokan. Amazon Redshift menggunakan tiga metode untuk pencocokan pola:

  • Seperti ekspresi

    Operator LIKE membandingkan ekspresi string, seperti nama kolom, dengan pola yang menggunakan karakter wildcard % (persen) dan _ (garis bawah). Pencocokan pola LIKE selalu mencakup seluruh string. LIKE melakukan kecocokan peka huruf besar/kecil dan ILIKE melakukan pertandingan case-insensitive.

  • MIRIP dengan ekspresi reguler

    Operator SIMILAR TO mencocokkan ekspresi string dengan pola ekspresi reguler standar SQL, yang dapat menyertakan satu set metakarakter pencocokan pola yang mencakup dua yang didukung oleh operator LIKE. MIRIP DENGAN mencocokkan seluruh string dan melakukan kecocokan peka huruf besar/kecil.

  • Ekspresi reguler bergaya POSIX

    Ekspresi reguler POSIX memberikan sarana yang lebih kuat untuk pencocokan pola daripada operator LIKE dan SIMILAR TO. Pola ekspresi reguler POSIX dapat mencocokkan bagian mana pun dari string dan melakukan kecocokan peka huruf besar/kecil.

Pencocokan ekspresi reguler, menggunakan operator SIMILAR TO atau POSIX, mahal secara komputasi. Kami merekomendasikan menggunakan LIKE bila memungkinkan, terutama saat memproses sejumlah besar baris. Misalnya, kueri berikut identik secara fungsional, tetapi kueri yang menggunakan LIKE berjalan beberapa kali lebih cepat daripada kueri yang menggunakan ekspresi reguler:

select count(*) from event where eventname SIMILAR TO '%(Ring|Die)%'; select count(*) from event where eventname LIKE '%Ring%' OR eventname LIKE '%Die%';