Cari Baris Dengan Karakter Khusus di SQL Server

Cari Baris Dengan Karakter Khusus di SQL Server
Cari Baris Dengan Karakter Khusus di SQL Server

Video: Cari Baris Dengan Karakter Khusus di SQL Server

Video: Cari Baris Dengan Karakter Khusus di SQL Server
Video: How to Speed-Up Windows Vista for Free in 2 Minutes - YouTube 2024, April
Anonim

Saat memecahkan masalah pemrograman hari ini, saya perhatikan bahwa Anda tidak dapat menggunakan pencarian LIKE untuk kolom string yang berisi karakter khusus seperti% atau _ tanpa menggunakan sintaks khusus. Mengetahui masalah hanya memerlukan beberapa menit, tetapi mengingat sintaks selalu lebih mudah jika Anda menulis tentang hal itu.

Jadi ya, postingan ini semata-mata untuk keuntungan saya. Semoga itu akan membantu orang lain juga.

Katakanlah Anda ingin menemukan bidang apa pun yang berisi teks “100%”, sehingga Anda mengumpulkan kueri ini:

SELECT * FROM tablename WHERE fieldname LIKE ‘%100%%’

Alih-alih yang Anda inginkan, Anda akan mendapatkan semua baris yang berisi "100" serta baris yang berisi "100%".

Masalahnya di sini adalah bahwa SQL Server menggunakan tanda persen, underscore, dan tanda kurung sebagai karakter khusus. Anda tidak dapat menggunakannya sebagai karakter biasa dalam permintaan LIKE tanpa meloloskannya.

Square Bracket Escape

Anda dapat mengelilingi% atau _ dengan tanda kurung siku untuk memberitahu SQL Server bahwa karakter di dalamnya adalah karakter biasa.

SELECT * FROM tablename WHERE fieldname LIKE ‘%100[%]%’

T-SQL ESCAPE Syntax

Atau, Anda dapat menambahkan operator ESCAPE ke dalam kueri Anda, dan menambahkan karakter sebelum nilai yang ingin Anda hindari.

SELECT * FROM tablename WHERE fieldname LIKE ‘%100\%%’ ESCAPE ‘’

Bagian ESCAPE ‘ 'dari query memberitahu mesin SQL untuk menafsirkan karakter setelah sebagai karakter literal, bukan sebagai wildcard.

Secara pribadi saya menemukan metode kedua lebih mudah untuk ditangani, dan Anda dapat menggunakannya untuk melarikan diri dari braket persegi juga.

Direkomendasikan: