Search This Blog

Clausa Like Pada SQL Server

Keyword LIKE digunakan untuk memeriksa apakah suatu karakter sama dengan atau seperti karakter string yang dilewatkan pada suatu kondisi pada perintah SQL. Jadi LIKE merupakan perintah pembanding untuk membandingkan suatu nilai dengan nilai lain. Biasanya digunakan untuk membandingkan nilai field dengan variabel untuk memperolah satu set baris data atau record set yang mempunyai nilai filed yang kita cari.

Cara penulisan:

match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ]

Argument:

match_expression

Adalah ekpresi SQL server yang berupa tipe data karakter string

pattern

A dalah bentuk untuk mencari data pada match_expression, data dapat mengandung SQL Server karakter khusus berikut ini:

Karakter khusus
(Wilcard)
Keterangan Contoh
% Karakter apa saja dari karakter kosong sampai lebih WHERE nama LIKE '%ahmad%' menemukan semua nama yang mengandung kata 'ahmad'
_ (underscore) Satu karakter string. WHERE nama LIKE 'nan_' menemukan semua 4 huruf pertama yang diawali nan (nani, nana, dan seterusnya).
[ ] Satu karakter apa saja dalam batas yang ditentukan ([a-f]) atau ([abcdef]). WHERE nama LIKE '[F-M]andi' menemukan nama yang diakhiri dengan andi dan diawali dengan satu karakter antara F dan M, misalnya Fandi, Landi, Mandi, dan seterusnya
[^] Satu karakter apa saja yang tidak ada dalam batas yang ditentukan ([^a-f]) atau ([^abcdef]). WHERE nama LIKE '[^F-M]andi' menemukan nama yang diakhiri dengan andi dan diawali bukan dengan satu karakter antara F dan M, misalnya Bandi, Candi, Nandi, dan seterusnya

Klause ESCAPE

Untuk mencari tanda persen (%) sebagai karakter, bukan sebagai karakter khusus atau wildcard kita harus menggunakan keyword ESCAPE pada perintah sql yang kita buat. Misalnya kita ingin mencari data karakter 'diskon sebesar 50 %' pada field keterangan, maka perintah select query yang harus kita tulis adalah:

SELECT * FROM PENJUALAN WHERE KETERANGAN LIKE 'diskon sebesar 50 %' ESCAPE '%'

Contoh penggunaan perintah SELECT dengan menggunakan LIKE

SELECT * FROM KARYAWAN WHERE NAMA LIKE '%budi%';

Perintah select ini adalah untuk mencari data di dalam tabel karyawan dengan kriteria field NAMA mengandung data budi.

1 comment:

Fauzi Zamzami said...

Mas saya mau tanya
misal ada kata 'Belajar Pemograman Web'

saya ingin ketik 'Web Pemograman Belajar' atau di ketik secara acak itu muncul hasil pencariaanya.
Itu menggunakan apa ya mas Sintak SQL-nya
Mohon Pencerahan y mas??