Yandex Metrica
SQL Server String(Metinsel) Fonksiyonlar ve İşlemler - Yasin Sunmaz

Yasin Sunmaz

Kodladıkça değişen bir dünya...

SQL Server String(Metinsel) Fonksiyonlar ve İşlemler

25.01.2022 yasinsunmaz 874 0

SQL Server T-SQL dilinde metinsel fonksiyonları ele aldım. Bu fonksiyonlar ile verilerinizi istediğiniz şekilde biçimlendirebilir ve dönüştürebilirsiniz. Aynı zamanda veri tabanı tarafında da bazı kontroller yapabilirsiniz. Bu yazdığım sorguları Nortwind veri tabanı üzerinden yaptım. Veri tabanını indirmek için buraya tıklayabilirsiniz. Veri tabanını SQL Server üzerinden açıp script kodunu çalıştırabilirsiniz. SQL Server'da script dosyasını nasıl çalıştırılır bilmiyorsanız SQL Server Script Alma ve Çalıştırma adlı yazılımı inceleyebilirsiniz. Script kodunu çalıştırdıktan sonra Northwind adında bir veri tabanınız oluşacaktır. Bu aşamadan sonra sorgularınızı çalıştırabilir ve test edebilirsiniz. Kendiniz uygularak yaptığınızda öğrenmeniz daha kolay olacaktır. 

SQL Server Metinsel Fonksiyonlar ve İşlemler

Her fonksiyonun yanında ne işe yaradığı ile ilgili kısa açıklamalar ve hemen altında sorgular yer almaktadır. Veri tabanınız hazır olduktan sonra deneyerek adım adım gitmenizi tavsiye ederim. Sizi denemeye yöneltmek için bu yazımda örnek çıktılarını vermiyorum. Biraz uğraşmanız gerekecek. 

BEGIN--***SQL Metinsel Fonksiyon ve İşlemler Başlangıç***
  --ASCII() Kullanımı | Karakter yerine bir metin girilirse metnin ilk karakterini ASCII değerini verir.
  SELECT
    e.FirstName
   ,ASCII(e.FirstName) AS ASCIIKarsiligi
  FROM Employees AS e

  --CHAR() Kullanımı | 0-255 arası girilen tam sayının ASCII tablosundaki karşılığı olan karakteri verir. Girilen sayı bu aralık dışındaysa NULL değeri döner.
  SELECT
    e.FirstName
   ,CHAR(77) AS ASCIISonucu
  FROM Employees AS e

  --ASCII() ve CHAR() Mantığı
  SELECT
    e.FirstName
   ,ASCII(e.FirstName) AS ASCIIKarsiligi
   ,CHAR(ASCII(e.FirstName)) AS ASCIISonucu
  FROM Employees AS e

  --CHARINDEX() Kullanımı | Geriye dönen değer bulunan değerin kaçıncı karakterden itibaren başladığını döndürür.
  SELECT
    e.FirstName
   ,CHARINDEX('e', e.FirstName) AS eHarfiKacinciKarakterdenBasliyor
  FROM Employees AS e

  --CHARINDEX() Kullanımı | 2 parametreli olarak ya da 3 parametreli olarak kullanılabilir. 
  --3. parametre isteğe bağlı kullanılır. Aramaya kaçıncı karakterden başlanacağı belirtilir. Eğer kullanılmazsa ilk karakterden arama başlatılır.
  SELECT
    e.FirstName
   ,CHARINDEX('e', e.FirstName, 5) AS eHarfi5KarakterdenSonrakiler
  FROM Employees AS e

  --NCHAR() Kullanımı | Verilen bir tamsayı kodu karşılığı olan Unicode karakteri döndürür. 0-65535 arası değer alabilir.
  SELECT
    NCHAR(1249) AS UnicodeKarsiligi

  --PATINDEX() Kullanımı | Verilen bir paterne uyan  metnin başındaki karakterin pozisyonunu geri döndürür. Eğer verilen paterne uyan bir metin bulunamazsa "0" değeri dönecektir.
  SELECT
    e.FirstName
   ,PATINDEX('%ar%', e.FirstName) AS arBarindiranAdlar
  FROM Employees AS e

  --REPLACE() Kullanımı | Bu fonksiyon parametre olarak verilen birinci metin içerisinde ikinci metni gördüğü yerde ikinci metni silerek verilen üçüncü parametredeki metni yerleştirir.
  SELECT
    e.FirstName
   ,REPLACE(e.FirstName, 'an', 'AN') AS arBarindiranAdlar
  FROM Employees AS e

  --REPLICATE() Kullanımı | Bir karakteri belirli sayıda  tekrar ettirmek için kullanılır.
  SELECT
    REPLICATE('+', 10) AS TekrarEttirilenAlan

  --REVERSE() Kullanımı | Verilen metni ters çevirmek için kullanılır.
  SELECT
    e.FirstName
   ,REVERSE(e.FirstName) AS arBarindiranAdlar
  FROM Employees AS e

  --LEFT() Kullanımı | Bir metnin soldan itibaren istenilen sayıda karakterlerini geri döndürür.
  SELECT
    e.FirstName
   ,LEFT(e.FirstName, 5) AS Soldan5KarakterGetir
  FROM Employees AS e

  --RIGHT() Kullanımı | Bir metnin sağdan itibaren istenilen sayıda karakterlerini geri döndürür.
  SELECT
    e.FirstName
   ,RIGHT(e.FirstName, 5) AS Sagdan5KarakterGetir
  FROM Employees AS e

  --SPACE() Kullanımı | Belirli sayıda boşluk karakteri oluşturmak için kullanılan metinsel fonksiyondur.
  SELECT
    e.FirstName + '' + SPACE(5) + '' + e.LastName AS AdSoyadOrtada5KarakterBosluk
  FROM Employees AS e

  --LEN Kullanımı | Metin alanındaki değerin uzunluğunu döndürür.
  SELECT
    e.FirstName
   ,LEN(e.FirstName) AS AdUzunlugu
  FROM Employees AS e

  --DATALENGTH() Kullanımı | Bir ifadenin uzunluğunu bay cinsinden döndürür.
  SELECT
    e.FirstName
   ,DATALENGTH(e.FirstName) AS BaytUzunluk
  FROM Employees AS e

  --STUFF() Kullanımı | Bir ifadeden başlangıç ve bitiş karakter sayısı ile karakterleri siler ve sonra dizeye başka bir karakter dizisi ekler.
  SELECT
    e.FirstName
   ,STUFF(e.FirstName, 2, 2, '0000') AS BaytUzunluk
  FROM Employees AS e

  --LOWER() Kullanımı | İstenilen alanı küçük harfli olarak gösterir.
  SELECT
    e.FirstName
   ,LOWER(e.FirstName) AS YeniAd
  FROM Employees AS e

  --UPPER() Kullanımı | İstenilen alanı büyük harfli olarak gösterir.
  SELECT
    e.FirstName
   ,UPPER(e.FirstName) AS YeniAd
  FROM Employees AS e

  --Substring Kullanımı | İstenilen verinin bir parçasını göstermek için kullanılır.
  SELECT
    e.FirstName
   ,SUBSTRING(e.FirstName, 1, 3) AS SeciliAdinParcasi
  FROM Employees AS e

  SELECT
    e.FirstName
   ,UPPER(SUBSTRING(e.FirstName, 4, 3)) AS SeciliAdinParcasi
  FROM Employees AS e

  --LTRIM() Kullanımı | Soldan boşlukları temizler.
  SELECT
    LTRIM(e.FirstName)
  FROM Employees AS e

  --RTRIM() Kullanımı | Sağdan boşlukları temizler.
  SELECT
    RTRIM(e.FirstName)
  FROM Employees AS e

  --TRIM() Kullanımı | Her iki taraftan boşlukları temizler.
  SELECT
    TRIM(e.FirstName)
  FROM Employees AS e
--***SQL Metinsel Fonksiyon ve İşlemler Bitiş***
END

Umarım faydalı olmuştur. İyi çalışmalar dilerim.

  • Yorum yapabilmek için giriş yapmalısınız. Giriş yapmak için tıklayınız.

Diğer Yazılar

SQL Fonksiyonları: Veritabanlarında Güçlü ve Esnek İşlemler

09.06.2023 yasinsunmaz 354 0

SQL (Structured Query Language), veritabanı yönetim sistemlerinde verileri yönetmek, sorgulamak ve işlemek için yaygın olarak kullanılan bir dildir. SQL fonksiyonl...

SQL'e Dair Her Şey OneSQL'de, Ne Ararsanız Bulabileceksiniz

03.06.2023 yasinsunmaz 300 0

Veri tabanı yöneticilerinin yanında zaman zaman yazılımcıların da SQL'i aktif olarak kullanması gerekebiliyor. SQL'i belli başlı şekillder kullanıp işlemlerimizi ...

SQL Server Offset Fetch Kullanımı

06.03.2023 yasinsunmaz 772 0

Merhabalar uzun zamandır yazı yazamadım. Ülke olarak zor zamanlar geçirmekteyiz. Herkese çok geçmiş olsun diyerek kısa bir yazı ile tekrar buradayım. SQL ...

SQL Server Sequence Kullanımı

14.01.2023 yasinsunmaz 1493 0

Veritabanında yeni keşfettiğim Sequence özelliğini sizlerle paylaşmak isterim. Squence genel olarak belirli değerler arasında numeric ve sıralı sayılar üretir. ...

SQL Server OUTPUT Kullanımı Silinen Kaydın Bilgilerini Geriye Döndürme

11.01.2023 yasinsunmaz 400 0

Bu yazımda SQL Server'da OUTPUT ile DELETED komutunun yapısını inceleyeceğiz. Kayıtlar üzerinde yapılan silme işlemlerinde, kaydın bilgilerin...

SQL Server LIKE Kullanımı

02.02.2022 yasinsunmaz 1559 0

SQL Server T-SQL dilinde LIKE kullanımını ele aldım. Bu fonksiyon ve sorgular ile verilerinizi istediğiniz şekilde biçimlendirebilir ve dönüştürebil...

Temel SQL Komutları

01.02.2022 yasinsunmaz 376 0

SQL Server T-SQL dilinde temel sorguların kullanımını ele aldım. Bu fonksiyon ve sorgular ile verilerinizi istediğiniz şekilde biçimlendirebilir ve dönüş...

SQL Server Date(Tarih) Fonksiyonları ve İşlemleri

31.01.2022 yasinsunmaz 3156 0

SQL Server T-SQL dilinde tarih fonksiyonlarını ele aldım. Bu fonksiyonlar ile verilerinizi istediğiniz şekilde biçimlendirebilir ve dönüştürebilirsiniz. Aynı ...

SQL Server SELECT ve Operatörlerin Kullanımı

30.01.2022 yasinsunmaz 1325 0

SQL Server T-SQL dilinde SELECT ile birlikte operatörlerin kullanımını ele aldım. Bu fonksiyon ve sorgular ile verilerinizi istediğiniz şekilde biçimlendirebilir ve dönüştürebilirs...