MySQL POSITION Kullanımı
MySql veritabanında bulunan "POSITION" fonksiyonu, belirli bir karakter dizisinde aranmak istenen bir karakterin ya da karakter dizisinin, ilk olarak nerede görüldüğünü bulmak için kullanılır. Bu fonksiyon geri dönüş olarak pozisyon numarasını verir. Eğer aranmak istenen karakter dizisi bulunamazsa, fonksiyon sıfır değerini döndürür.
"POSITION" fonksiyonunun kullanımı, bir veritabanı tablosunda kayıtlı olan bir karakter dizisinde arama yapmak istediğimizde oldukça pratiktir.
Örneğin, bir "Urunler" tablosunda kayıtlı olan ürün adları içerisinde "Telefon" kelimesini aramak istediğimizde, aşağıdaki gibi bir sorgu yazarız.
SELECT Urun_Adi, POSITION("Telefon" IN Urun_Adi) as Pozisyon FROM Urunler;
Bu sorgu sonucunda, "Urunler" tablosunda kayıtlı olan tüm ürün adları içerisinde "Telefon" kelimesinin ilk olarak nerede görüldüğünü gösteren pozisyon numarasını verir. Eğer "Telefon" kelimesi bir ürün adı içerisinde bulunmazsa, "Pozisyon" sütununda sıfır değeri görülecektir.
Aynı şekilde, bir karakter dizisi içerisinde birden fazla kelime aramak da mümkündür.
SELECT Musteri_Adi, POSITION("Ali" IN Musteri_Adi) as Ali_Pozisyon,
POSITION("Veli" IN Musteri_Adi) as Veli_Pozisyon FROM Musteriler;
Bu sorgu sonucunda, "Müşteriler" tablosunda kayıtlı olan tüm müşteri adları içerisinde "Ali" ve "Veli" kelimelerinin ilk olarak nerede görüldüğünü gösteren pozisyon numaralarını verir. Eğer "Ali" veya "Veli" kelimeleri bir müşteri adı içerisinde bulunmazsa, ilgili sütunda sıfır değeri görülür.
"POSITION" fonksiyonunu biraz daha esnek hale getirmek için, "INSTR" fonksiyonuda aynı işlevi görmektedir. Örnek olarak, ürün adları içerisinde "Telefon" kelimesini aramak için aşağıdaki gibi bir sorgu yazabiliriz.
SELECT Urun_Adi, INSTR(Urun_Adi, "Telefon") as Pozisyon FROM Urunler;
Bu sorgu ile aynı sonucu elde ederiz.