MySQL ile CONCAT ve SUBSTRING kullanımı



Bu yazımızda MySQL Veritabanında kullanacağımız CONCAT ve SUBSTRING fonksiyonlarını kullanacağız. Aslında iki fonksiyonu birçok programlama dilinde kullanmış olabilirsiniz, zira programlama dillerinde de ismi aynı şekilde geçiyor.
 
CONCAT fonksiyonu metin birleştirme için kullanılıyor. Örneğin SQL'de ADI ve SOYADI sütunlarını birleştirip SELECT komutu ile aşağıdaki gibi listeleyebiliriz.

SELECT CONCAT(AD," ", SOYAD) from uyeler

Burada AD ve SOYAD alanları arasına boşluk koymak için de çift tırnak içinde istediğimiz boşluğu verdik. Aynı şekilde Adres kısmında da ADRES, İLÇE,ŞEHİR bilgilerini CONCAT ile birleştirebilirsiniz. 



Daha önceki örneklerden gördüğümüz gibi görünecek sütun adını değiştirmek için AS ifadesini kullanabilirsiniz.

SELECT CONCAT(AD," ", SOYAD) AS ADI_SOYADI from uyeler



SUBSTRING komutu da birçok programlama dilinde aynı şekilde geçiyor. Metin içinden istenilen parçayı almak için kullanılıyor. Örneğin TC Kimlik Numarasının hepsinin veritabanında görünmesini istemiyor isek sadece 11 haneden oluşan TC Kimlik Numarasının son üç hanesini aşağıdaki şekilde alabilirsiniz.

SELECT SUBSTRING(TCKIMLIKNO, 9, 3) FROM uyeler

Bu şekilde 9.karakterden başlayarak (9.karakter dahil) 3 hane alıyoruz.



SELECT TCKIMLIKNO, CONCAT('********',SUBSTRING(TCKIMLIKNO, 9, 3)) FROM uyeler



UPDATE komutu ile aşağıdaki gibi yıldızlayabilirsiniz.

UPDATE uyeler u1 SET u1.TCKIMLIKNO=CONCAT('********',SUBSTRING(u1.TCKIMLIKNO, 9, 3))
 
Böylece veritabanında gerekli güvenliği de KVKK (Kişisel Verileri Koruma Kanunu) gereğince sağlamış oluyoruz.

Mutlu kodlamalar,
Oğuzhan TAŞ
Ocak 2023



Bookmark and Share