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 Server String(Metinsel) Fonksiyonlar ve İşlemler
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.