Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
SIMILAR TO
Operator MIRIP TO cocok dengan ekspresi string, seperti nama kolom, dengan pola ekspresi reguler standar SQL. Pola ekspresi reguler SQL dapat mencakup satu set metakarakter pencocokan pola, termasuk dua yang didukung olehSUKAoperator.
The MIRIP dengan operator mengembalikan true hanya jika polanya cocok dengan seluruh string, tidak seperti POSIX perilaku ekspresi reguler, di mana pola dapat mencocokkan setiap bagian dari string.
MIRIP DENGAN melakukan pertandingan case-sensitive.
catatan
Pencocokan ekspresi reguler menggunakan MIRIP TO adalah komputasi mahal. Sebaiknya gunakan 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%';
Sintaksis
expression [ NOT ] SIMILAR TO pattern [ ESCAPE 'escape_char' ]
Pendapat
- ekspresi
-
Ekspresi karakter UTF-8 yang valid, seperti nama kolom.
- SIMILAR TO
-
MIRIP DENGAN melakukan kecocokan pola case-sensitive untuk seluruh string diekspresi.
- pola
-
Ekspresi karakter UTF-8 yang valid mewakili pola ekspresi reguler standar SQL.
- escape_char
-
Sebuah ekspresi karakter yang akan melarikan diri metakarakter dalam pola. Defaultnya adalah dua garis miring terbalik ('\\').
Jikapolatidak mengandung metakarakter, maka pola hanya mewakili string itu sendiri.
Salah satu ekspresi karakter dapat CHAR atau VARCHAR tipe data. Jika mereka berbeda,AWS Clean Roomsberubahpolake tipe dataekspresi.
MIRIP DENGAN mendukung metakarakter pencocokan pola berikut:
Operasi | Deskripsi |
---|---|
% |
Cocok dengan urutan nol atau lebih karakter. |
_ |
Cocok setiap karakter tunggal. |
| |
Menunjukkan pergantian (salah satu dari dua alternatif). |
* |
Ulangi item sebelumnya nol atau lebih kali. |
+ |
Ulangi item sebelumnya satu kali atau lebih. |
? |
Ulangi item sebelumnya nol atau satu kali. |
{m} |
Ulangi item sebelumnya dengan tepatmkali. |
{m,} |
Ulangi item sebelumnyamatau lebih banyak kali. |
{m,n} |
Ulangi item sebelumnya setidaknyamdan tidak lebih darinkali. |
() |
Kurung item kelompok ke dalam item logis tunggal. |
[...] |
Sebuah ekspresi braket menentukan kelas karakter, seperti dalam ekspresi reguler POSIX. |
Contoh
Tabel berikut menunjukkan contoh pencocokan pola menggunakan MIRIP DENGAN:
Ekspresi | Pengembalian |
---|---|
'abc' SIMILAR TO 'abc' |
Benar |
'abc' SIMILAR TO '_b_' |
Benar |
'abc' SIMILAR TO '_A_' |
Salah |
'abc' SIMILAR TO '%(b|d)%' |
Benar |
'abc' SIMILAR TO '(b|c)%' |
Salah |
'AbcAbcdefgefg12efgefg12' SIMILAR TO '((Ab)?c)+d((efg)+(12))+'
|
Benar |
'aaaaaab11111xy' SIMILAR TO 'a{6}_ [0-9]{5}(x|y){2}'
|
Benar |
'$0.87' SIMILAR TO '$[0-9]+(.[0-9][0-9])?' |
Benar |
Contoh berikut menemukan kota yang namanya mengandung “E” atau “H”:
SELECT DISTINCT city FROM users WHERE city SIMILAR TO '%E%|%H%' ORDER BY city LIMIT 5; city ----------------- Agoura Hills Auburn Hills Benton Harbor Beverly Hills Chicago Heights
Contoh berikut menggunakan string escape default ('\\
') untuk mencari string yang mencakup”_
“:
SELECT tablename, "column" FROM my_table_def WHERE "column" SIMILAR TO '%start\\_%' ORDER BY tablename, "column" LIMIT 5; tablename | column --------------------------+--------------------- my_abort_idle | idle_start_time my_abort_idle | txn_start_time my_analyze_compression | start_time my_auto_worker_levels | start_level my_auto_worker_levels | start_wlm_occupancy
Contoh berikut menentukan '^
'sebagai escape string, kemudian menggunakan escape string untuk mencari string yang menyertakan”_
“:
SELECT tablename, "column" FROM my_table_def WHERE "column" SIMILAR TO '%start^_%' ESCAPE '^' ORDER BY tablename, "column" LIMIT 5; tablename | column --------------------------+--------------------- stcs_abort_idle | idle_start_time stcs_abort_idle | txn_start_time stcs_analyze_compression | start_time stcs_auto_worker_levels | start_level stcs_auto_worker_levels | start_wlm_occupancy