Pencocokan Pola dalam Kueri SQL dengan Wildcard

click fraud protection

Pencocokan pola SQL memungkinkan Anda untuk mencari pola dalam data jika Anda tidak tahu persis kata atau frasa yang Anda cari. semacam ini SQL kueri menggunakan karakter wildcard untuk mencocokkan pola, daripada menentukannya dengan tepat. Misalnya, Anda dapat menggunakan karakter pengganti "C%" untuk mencocokkan string apa pun yang dimulai dengan huruf kapital C.

Kaca pembesar
Kate Ter Haar / Flickr/CC oleh 2.0

Menggunakan Operator LIKE

Untuk menggunakan ekspresi wildcard dalam kueri SQL, gunakan operator LIKE dalam klausa WHERE, dan sertakan pola dalam tanda kutip tunggal.

Menggunakan % Wildcard untuk Melakukan Pencarian Sederhana

Untuk mencari karyawan di database Anda dengan nama belakang yang dimulai dengan huruf C, gunakan pernyataan Transact-SQL berikut:

PILIH *
DARI karyawan
WHERE last_name LIKE 'C%'

Menghilangkan Pola Menggunakan Kata Kunci NOT

Gunakan kata kunci NOT untuk memilih rekaman yang tidak cocok dengan pola. Misalnya, kueri ini mengembalikan semua catatan yang namanya terakhir tidak mulai dengan C:

instagram viewer
PILIH *
DARI karyawan
DI MANA last_name TIDAK SEPERTI 'C%'

Mencocokkan Pola Di Mana Saja Menggunakan % Wildcard Dua Kali

Gunakan dua contoh dari % wildcard untuk mencocokkan pola tertentu di mana saja. Contoh ini mengembalikan semua catatan yang berisi C di mana saja di nama belakang:

PILIH *
DARI karyawan
WHERE last_name LIKE '%C%'

Menemukan Kecocokan Pola pada Posisi Tertentu

Menggunakan _ wildcard untuk mengembalikan data di lokasi tertentu. Contoh ini hanya cocok jika C muncul di posisi ketiga kolom nama belakang:

PILIH *
DARI karyawan
WHERE last_name LIKE '_ _C%'

Ekspresi Wildcard yang Didukung di Transact SQL

Ada beberapa ekspresi wildcard yang didukung oleh Transact SQL:

  • Itu % wildcard cocok dengan nol atau lebih karakter dari jenis apa pun dan dapat digunakan untuk mendefinisikan wildcard sebelum dan sesudah pola. Jika Anda terbiasa dengan pencocokan pola DOS, ini setara dengan * wildcard dalam sintaks tersebut.
  • Itu _ wildcard cocok dengan tepat satu karakter dari jenis apa pun. Ini setara dengan ? wildcard dalam pencocokan pola DOS.
  • Tentukan daftar karakter dengan melampirkannya dalam tanda kurung siku. Misalnya, wildcard [aeiou] cocok dengan vokal apa pun.
  • Tentukan rentang karakter dengan menyertakan rentang dalam tanda kurung siku. Misalnya, wildcard [saya] cocok dengan huruf apa pun di paruh pertama alfabet.
  • Meniadakan berbagai karakter dengan memasukkan karakter karat langsung di dalam kurung siku pembuka. Sebagai contoh, [^aeiou] cocok dengan karakter non-vokal mana pun saat [^a-m] cocok dengan karakter apa pun yang tidak ada di paruh pertama alfabet.

Menggabungkan Wildcard untuk Pola Kompleks

Gabungkan karakter pengganti ini dalam pola yang kompleks untuk melakukan kueri yang lebih canggih. Misalnya, Anda perlu membuat daftar semua karyawan Anda yang memiliki nama yang dimulai dengan huruf dari paruh pertama alfabet tetapi tidak tidak diakhiri dengan vokal. Anda dapat menggunakan kueri berikut:

PILIH *
DARI karyawan
WHERE last_name LIKE '[a-m]%[^aeiou]'

Demikian pula, Anda dapat membuat daftar semua karyawan dengan nama belakang yang terdiri dari empat karakter dengan menggunakan empat contoh: _ pola:

PILIH *
DARI karyawan
DI MANA nama_belakang SEPERTI '____'

Seperti yang Anda ketahui, penggunaan kemampuan pencocokan pola SQL menawarkan pengguna database kemampuan untuk melampaui kueri teks sederhana dan melakukan operasi pencarian lanjutan.

instagram story viewer