Masalah:
Anda ingin memilih baris yang berisi string yang dimulai dengan salah satu grup karakter tertentu.
Contoh:
Basis data kami memiliki tabel bernama gamer
dengan data di id
dan user
kolom.
id | pengguna |
---|---|
1 | manusia super |
2 | magnus |
3 | lucy |
4 | bertahan |
5 | ali |
Mari temukan semua data untuk gamer yang nama penggunanya dimulai dengan 'a', 'b', 'r', atau 's'.
Solusi:
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
Ini hasilnya:
id | pengguna |
---|---|
1 | manusia super |
4 | bertahan |
5 | ali |
Diskusi:
Jika Anda ingin memfilter baris yang berisi string yang cocok dengan pola tertentu, gunakan klausa WHERE dengan operator LIKE. Klausa WHERE digunakan untuk memfilter record yang memenuhi kondisi yang dinyatakan. Setelah WHERE, Anda menambahkan nama kolom atau ekspresi, diikuti oleh operator (misalnya LIKE) dan nilai perbandingannya. Setelah LIKE, Anda memasukkan pola yang akan dicocokkan (dalam contoh kami, WHERE user LIKE '[abrs]%'
). Pola dapat berisi karakter dan wildcard.
Salah satu wildcard T-SQL adalah '%', yang mewakili nol atau lebih karakter yang tidak diketahui. Karakter pengganti garis bawah ( _ ) menunjukkan satu karakter. Tanda kurung ( [] ) melampirkan pola yang cocok; pola ini dapat berisi satu atau lebih huruf atau angka. String target dapat cocok dengan satu atau lebih karakter dalam tanda kurung.
Dalam contoh kita, pola '[abrs]%'
menunjukkan bahwa nama pengguna harus dimulai dengan a, b, r, atau s. Setelah karakter awal, mungkin ada nol atau lebih karakter karena kami telah menggunakan % wildcard.
Pengguna dengan id=2 dan id=3 tidak ditampilkan; nama mereka dimulai dengan 'l' dan 'm' sehingga tidak cocok dengan pola yang kami pilih.