SQL % _ ‘ ÖZEL KARAKTER ARATMAK (ESCAPE)

Veritabanında kayıtlı verilerimizin içinde % , _ ‘ , gibi değerler aratabilmek için escape karakteri kullanmamız gerekir.  Aksi halde veritabanında aradığımız sonucu bulamayız. % ve _ (yüzde ve alt tire) aratırken genel mantık şu şekilde olacaktır: %’nin veya _’nin başına * , / , \  gibi herhangi bir karakter ekleyiniz. Where’in sonuna ESCAPE yazıp tırnak içinde arattığınız özel kelimenin önüne eklediğiniz karakteri giriniz. Örnekle açıklamak gerekirse

Not: ESCAPE yalnızca 1 karakter alır. Eğer 1 den fazla karakter girerseniz. ORA-01425: escape character must be character string of length 1 hatasını alırsınız.

 
_ (alt çizgi) geçen sonuçları getirir.
SELECT *
FROM history
WHERE comments LIKE '%*_%' ESCAPE '*';

SELECT *
FROM history
WHERE comments LIKE '%/_%' ESCAPE '/';

 
% (yüzde) geçen sonuçları getirir.
SELECT *
FROM history
WHERE comments LIKE '%*%%' ESCAPE '*';

SELECT *
FROM history
WHERE comments LIKE '%/%%' ESCAPE '/';

Tırnakta (‘) ise arama daha farklıdır. Arka arkaya iki tek tırnak ile (”) ile içinde ‘ (tırnak) geçen ifadeler aranabilir (tırnak=quote).

içinde tek tırnak geçen kayıtları getirir.
SELECT *
FROM history
WHERE comments LIKE '%''%';

Leave a Reply

Your email address will not be published. Required fields are marked *