Veri analizinin ilk ve en kritik aşaması, ham verinin temizlenmesi, düzenlenmesi ve anlamlı bir hale getirilmesidir. Bu süreçte SQL sorguları, verileri kaynakta özetlemek ve düzenlemek için vazgeçilmez bir araçtır. Özellikle metin verileri üzerindeki işlemler, verileri özetlemede önemli bir rol üstlenir.
Bu yazımızda, SQL’in güçlü metin işleme fonksiyonlarını kullanarak verilerinizi nasıl hazırlayacağınıza dair temel bir bakış amaçlıyoruz. Hazırsanız, metin verilerinizi temizlemek, formatlamak ve analiz için uygun hale getirmek amacıyla kullanabileceğiniz çeşitli fonksiyonlara ve kullanım örneklerine geçelim.
Metin Düzenleme
UPPER: Bir metindeki tüm harfleri büyük harfe çevirir.
LOWER: Bir metindeki tüm harfleri küçük harfe çevirir.
REVERSE: Bir metnin karakter sırasını tersine çevirir.
TRIM: Bir metnin başındaki ve sonundaki boşlukları kaldırır.
REPLACE: Bir metin içindeki belirli bir karakter veya metni başka bir karakter veya metinle değiştirir.
TRANSLATE: Bir metin içindeki belirli karakterleri başka karakterlerle değiştirir.
SELECT
LOWER([Name]) AS KüçükHarf,
UPPER( SUBSTRING([NAME],1,50)) AS BüyükHarf,
REVERSE([Name]) AS Ters,
TRIM(' TRIM ') AS _TRIM,
REPLACE([NAME], 'Australia', 'Denmark') AS _REPLACE,
TRANSLATE([NAME], 'çğıöşüİ', 'cgiosuI') AS _TRANSLATE
FROM [AdventureWorks2019].[Purchasing].[Vendor]
Metin Birleştirme
CONCAT: İki veya daha fazla metni birleştirir.
CONCAT_WS: Verilen bir ayraç ile birden fazla metni birleştirir.
SELECT
CONCAT(AccountNumber, ' - ', CreditRating, ' - ', ActiveFlag) AS _CONCAT,
CONCAT_WS('-', AccountNumber, CreditRating, ActiveFlag) AS _CONCAT_WS
FROM [AdventureWorks2019].[Purchasing].[Vendor]
Metin Parçalama
LEN: Bir metindeki karakter sayısını verir.
LEFT: Bir metnin solundan belirtilen sayıda karakteri alır.
RIGHT: Bir metnin sağından belirtilen sayıda karakteri alır.
SUBSTRING: Bir metnin belirtilen bir konumdan başlayarak belirtilen sayıda karakterini alır.
CHARINDEX: Bir metin içinde belirtilen bir karakter veya metnin ilk bulunduğu konumu verir.
SELECT
LEFT([Name], 5) AS İlkBeşHarf,
RIGHT([Name], 5) AS SonBeşHarf,
SUBSTRING([Name], 5, 10) AS AradanOnHarf,
LEN([Name]) AS KarakterSayısı,
CHARINDEX(' ', [Name]) AS İlkBoşlukIndexNo
FROM [AdventureWorks2019].[Purchasing].[Vendor]
SELECT
CHARINDEX(' ', [Name]) AS İlkBoşlukIndexNo,
CHARINDEX(' ', [Name], (CHARINDEX(' ', [Name],1)) +1) AS İkinciBoşlukIndexNo,
LEFT([Name], CHARINDEX(' ', [Name])) İlkKelime,
CHARINDEX('-', [Name]) AS İlkTireIndexNo,
LEFT([Name], (CHARINDEX(' ', [Name], (CHARINDEX(' ', [Name],1)) +1))) İlkİkiKelime,
SUBSTRING([NAME], CHARINDEX(' ', [Name]) + 1, LEN([NAME])) AS İlkKelimedenSonrası
FROM [AdventureWorks2019].[Purchasing].[Vendor]
SQL’de metin işleme fonksiyonları, verileri temizlemek, formatlamak ve analiz için hazır hale getirmek için oldukça faydalı araçlar. Bugün, ham verilerin temizlenmesi, standardize edilmesi ve analiz araçları için uygun hale getirilmesinde önemli yardımları olan string fonksiyonlarına değindik ve bu konuda genel bir fikir oluşturmaya yoğunlaştık. Bir sonraki yazıda görüşmek üzere..