Konuyu Açan #1
SQL CONCAT Fonksiyonu ile Metin Birleştirme

SQL kullanırken, verileri tek bir kolon veya alan içerisinde göstermek istediğimizde en sık başvurulan yöntemlerden biri CONCAT fonksiyonudur. Bu fonksiyon sayesinde farklı sütunlarda yer alan metinleri tek bir satırda birleştirebilir, kullanıcıya daha okunabilir ve düzenli veri sunumu yapabilirsiniz. Özellikle raporlama veya kullanıcı ara yüzleri tasarımı sırasında, isim ve soyisim, adres detayları veya ürün bilgileri gibi farklı alanları bir araya getirmek oldukça yaygındır.

CONCAT fonksiyonu, temel olarak birkaç argüman alır ve bunları sırasıyla birleştirir. Örneğin, iki sütunu aralarına boşluk koyarak birleştirmek istiyorsanız, şu yapıyı kullanabilirsiniz:

KOD
12
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;


Burada, 'first_name' ve 'last_name' sütunlarındaki verileri boşluk karakteriyle ayırarak tek bir 'full_name' alanında gösteriyoruz. Ayrıca, CONCAT fonksiyonu birden fazla argüman alabilir. Mesela, adres bileşenlerini birleştirirken:

KOD
12
SELECT CONCAT(street, ', ', city, ', ', country) AS full_address FROM addresses;


Dikkat edilmesi gereken önemli noktalar şunlardır:
  • Eğer herhangi bir argüman NULL ise, sonuç NULL olur. Bu nedenle, NULL değerleri dikkate alırken COALESCE veya IFNULL fonksiyonlarıyla boş değerleri varsayılan hale getirmek gerekebilir.
  • Farklı SQL sürümleri veya veritabanı sistemleri CONCAT fonksiyonuna farklı yaklaşımlar getirebilir. Örneğin, eski MySQL sürümlerinde CONCAT_ws (with separator) kullanılması yaygındır.


İşte, gerçek hayatta sık karşılaşılan bir örnek: müşteri verilerini raporlarken, isim ve telefon numarasını birleştirmek:

KOD
12
SELECT CONCAT(name, ' - ', phone) AS contact_info FROM customers;


Sonuç olarak, CONCAT fonksiyonu, metinleri birleştirmek ve kullanıcıya anlamlı veri sunmak için vazgeçilmez bir araçtır. Bu fonksiyonun doğru kullanımı, verilerinizi hem düzenli hale getirir hem de raporlama ve arayüz tasarımını kolaylaştırır.

Yanıt vermek için giriş yapmış olmalısınız.

0 alıntı seçildi