SQL’de String Verileri Birleştirme

SQL’de String Verileri Birleştirme

İki string veriyi toplayalım.

1SELECT 'ismail' + 'gürsoy';

Person.Person tablosundan BusinessEntityID alanını tek, FirstName ve LastName alanını ise iki veri arasında boşluk olacak şekilde AdSoyad kolonu adında yeni bir kolonda toplayarak gösterelim. AdventureWorks veritabanını kullanıyorum.

12SELECT BusinessEntityID, FirstName + ' ' + LastName AS "AdSoyad" FROM Person.Person;
281215

Aynı sorgu olsun bu sefer Ad ve soyad arasına – ekleyerek gösterelim.

12SELECT BusinessEntityID, FirstName + '-' + LastName AS "AdSoyad" FROM Person.Person
281216

String veriler toplanırken karşılaşılan sorunlardan biri şudur. Eğer bir tablo içinde bir satırda yer alan verinin herhangi bir alanında (toplama işlemi, birleştirme işlemi yapmak istediğimiz alanların herhangi birisinde) NULL veri var ise işte o zaman geriye dönen değerlerde yanlışlıklar oluyor. Geriye dönen değer NULL oluyor. Bunu görmek için aşağıdaki sorguyu yazalım.

Person.Person tablosundan BusinessEntityID, FirstName, MiddleName ve LastName alanlarını seçerek FirstName, MiddleName ve LastName alanlarını Ad Soyad kolonu altında birleştirerek ve aralarında boşluk bırakarak listeleyelim.

12SELECT BusinessEntityID, FirstName + ' ' + MiddleName + ' ' + LastName AS "Ad Soyad" FROM Person.Person

Sonuç :

281217

Sonuçta bazı yerler görüldüğü üzere NULL. Bunun sebebi orjinal tabloda bazı satırlarda MiddleName alanının NULL verilerden oluşması. Diğer tarafta FirstName veya LastName veri içerse dahi string verilerde birleştirme yapılırken herhangi bir alanın NULL olması sonucu diğerlerinin içeriği ne olursa olsun birleştirme sonucu geriye NULL dönüyor. Bu durumu göz ardı etmemek gerekiyor.

Kaynak: https://www.ismailgursoy.com.tr/sqlde-string-verileri-birlestirme/

Bir Cevap Yazın