SUKA - AWS Clean Rooms

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

SUKA

Operator LIKE membandingkan ekspresi string, seperti nama kolom, dengan pola yang menggunakan karakter wildcard% (persen) dan _ (garis bawah). Seperti pencocokan pola selalu mencakup seluruh string. Untuk mencocokkan urutan di mana saja dalam string, pola harus dimulai dan diakhiri dengan tanda persen.

LIKE adalah case-sensitive; ILIKE adalah case-sensitive.

Sintaksis

expression [ NOT ] LIKE | ILIKE pattern [ ESCAPE 'escape_char' ]

Pendapat

ekspresi

Ekspresi karakter UTF-8 yang valid, seperti nama kolom.

SUKA | ILIKE

LIKE melakukan pencocokan pola case-sensitive. ILIKE melakukan pencocokan pola case-sensitive untuk karakter single-byte UTF-8 (ASCII). Untuk melakukan pencocokan pola case-sensitive untuk karakter multibyte, gunakanMENURUNKANfungsi padaekspresidanpoladengan kondisi LIKE.

Berbeda dengan predikat perbandingan, seperti = dan <>, PREDIKAT LIKE dan ILIKE tidak secara implisit mengabaikan spasi belakang. Untuk mengabaikan spasi tambahan, gunakan RTRIM atau secara eksplisit mentransmisikan kolom CHAR ke VARCHAR.

Yang~~operator setara dengan LIKE, dan~~*setara dengan ILIKE. Juga!~~dan!~~*operator setara dengan NOT LIKE dan NOT ILIKE.

pola

Ekspresi karakter UTF-8 yang valid dengan pola yang akan dicocokkan.

escape_char

Sebuah ekspresi karakter yang akan melarikan diri metakarakter karakter dalam pola. Defaultnya adalah dua garis miring terbalik ('\\').

Jikapolatidak mengandung metakarakter, maka pola hanya mewakili string itu sendiri; dalam hal seperti bertindak sama dengan operator sama.

Salah satu ekspresi karakter dapat CHAR atau VARCHAR tipe data. Jika mereka berbeda,AWS Clean Roomsberubahpolake tipe dataekspresi.

LIKE mendukung metakarakter pencocokan pola berikut:

Operasi Deskripsi
% Cocok dengan urutan nol atau lebih karakter.
_ Cocok setiap karakter tunggal.

Contoh

Tabel berikut menunjukkan contoh pencocokan pola menggunakan LIKE:

Ekspresi Pengembalian
'abc' LIKE 'abc' Benar
'abc' LIKE 'a%' Benar
'abc' LIKE '_B_' Salah
'abc' ILIKE '_B_' Benar
'abc' LIKE 'c%' Salah

Contoh berikut menemukan semua kota yang namanya dimulai dengan “E”:

select distinct city from users where city like 'E%' order by city; city --------------- East Hartford East Lansing East Rutherford East St. Louis Easthampton Easton Eatontown Eau Claire ...

Contoh berikut menemukan pengguna yang nama belakangnya berisi “sepuluh”:

select distinct lastname from users where lastname like '%ten%' order by lastname; lastname ------------- Christensen Wooten ...

Contoh berikut menemukan kota yang karakter ketiga dan keempat adalah “ea”. Perintah menggunakan ILIKE untuk menunjukkan ketidakpekaan kasus:

select distinct city from users where city ilike '__EA%' order by city; city ------------- Brea Clearwater Great Falls Ocean City Olean Wheaton (6 rows)

Contoh berikut menggunakan string escape default (\\) untuk mencari string yang mencakup “start_” (teksstartdiikuti oleh garis bawah_):

select tablename, "column" from my_table_def where "column" like '%start\\_%' limit 5; tablename | column -------------------+--------------- my_s3client | start_time my_tr_conflict | xact_start_ts my_undone | undo_start_ts my_unload_log | start_time my_vacuum_detail | start_row (5 rows)

Contoh berikut menentukan '^' sebagai karakter escape, kemudian menggunakan karakter escape untuk mencari string yang mencakup “start_” (teksstartdiikuti oleh garis bawah_):

select tablename, "column" from my_table_def where "column" like '%start^_%' escape '^' limit 5; tablename | column -------------------+--------------- my_s3client | start_time my_tr_conflict | xact_start_ts my_undone | undo_start_ts my_unload_log | start_time my_vacuum_detail | start_row (5 rows)

Contoh berikut menggunakan~~*operator untuk melakukan case-sensitive (ILIKE) mencari kota-kota yang dimulai dengan “Ag”.

select distinct city from users where city ~~* 'Ag%' order by city; city ------------ Agat Agawam Agoura Hills Aguadilla