MSSQL String Fonksiyonları

StringFunctions

Merhabalar, Bugün ki yazımızda MSSQL String Fonksiyonları konusunu ele alacağız. Sorgu işlemlerimiz sırasında string(metinsel) alanlar üzerinde belirli işlemler yapmamız gerekebilir. Bunlar için oluşturulmuş fonksiyonları tek tek örneklerle inceleyeceğiz.

ASCII

ASCII fonksiyonu  girilen karakterin ASCII karşılığını vermektedir.

SELECT ASCII('T') AS T, ASCII('E') AS B,   
ASCII('K') AS K, ASCII('n') AS n,  
ASCII(1) AS [1], ASCII(2) AS [2];

Socunumuz 69 75 110 49 84 50 şeklinde bir sayı dizisi olacaktır.

CHAR

Girilen 0-255 arasında ASCII kodunun karakter karşılığını vermektedir.

SELECT CHAR(69), CHAR(75), CHAR(110), CHAR(49) ,CHAR(84), CHAR(50)

Sonucumuz E K n 1 T 2 şeklinde harf dizisidir.

CHARINDEX

CHARINDEX temel kullanımda 2 parametre almaktadır. İlk parametre aranacak değer, ikinci parametre aranacak kelime. Bir cümle içinde istediğimiz harf, kelime.. kaçıncı index’te olduğu bilgisini vermektedir.

SELECT CHARINDEX('net','Teknopati.net')

Sonuç olarak 11 değeri dönmüştür. net kelimesi Teknopati.net kelimesi içinde 11. indexte olduğu bilgisini vermektedir.

CONCAT

Girilen parametre kadar string veya sayı alanlarını birleştirip sonucu vermektedir.

SELECT CONCAT ( 'Mutlu ', 'Yıllar ', 11, '/', '25' ) AS Sonuç;

Sonuç olarak “Mutlu Yillar 11/25” vermektedir.

FORMAT

Temel olarak 2 parametre almaktadır. 1. parametre formatlanmasını istediğimiz değer, ikinci parametre format şeklimizdir.

SELECT FORMAT(123456789,'###-##-####')

Sonuç olarak “123-45-6789” vermektedir. Formatlama konusunda ileriki zamanda daha fazla örnek yapılacaktır.

LEFT – RIGHT

2 parametre almaktadır. 1. parametre değerimiz, 2. parametre sayısal olarak hane sayımızdır. Hane sayısına göre sağdan yada soldan hane miktarı kadar değer getirmektedir.

SELECT LEFT('Teknopati.net',9), RIGHT('Teknopati.net',4)

Sonuç olarak 2 sütun dönmüştür. Teknopati | .net

LEN

Girilen string ifadenin uzunluğunu getirmektedir.

SELECT LEN('Teknopati.net')

Sonuç olarak 13 vermektedir.

LOWER – UPPER

Girilen string ifadenin tüm harflerini küçültmek yada büyültmek istediğimiz zaman kullanırız.

SELECT LOWER('TEKNOPATİ.NET'), UPPER('teknopati.net')

Sonuç olarak “teknopati.net” ve “TEKNOPATİ.NET” getirmektedir.

LTRIM – TRIM – RTRIM

TRIM işlemi temel olarak girilen ifadedeki boşlukları silmektir. LTRIM soldaki, RTRIM sağdaki ve TRIM ise sağ ve soldaki boşlukları silmektedir.

SELECT LTRIM('    teknopati.net   '), RTRIM('   teknopati.net   '),TRIM('   teknopati.net   ')

Sonucu burada yazamayacağım. Boşluklardan dolayı karışıklık olur.

UNICODE

Girilen karakteri UNICODE standartlarında tanımlanan tam sayıya çevirir.

SELECT UNICODE('T')

Sonuç olarak ‘T’ harfinin unicode karşılığı olan 84 değeri dönmüştür.

NCHAR

Girilen UNICODE standartlarında tanımlanan tam sayıyı karaktere çevirir.

SELECT NCHAR('84')

Sonuç olarak ‘T’ harfini vermektedir.

MSSQL String Fonksiyonları’nı incelemeye devam ediyoruz.

PATINDEX

Temel olarak 2 parametre ile çalışmaktadır. 1. parametre pattern ikinici parametre string ifademizdir. Girilen patterne göre stringde kaçıncı indexte olduğu bilgisini vermektedir.

SELECT PATINDEX('%.net','Teknopati.net')

Sonuç olarak Teknopati.net içinde ve pattern’e göre .net ile biten kelime 10’u indexte yer almaktadır. MSSQL’de String Fonksiyonlarını incelemeye devam ediyoruz.

QUOTENAME

Girilen string ifadenin başına ve sonuna ‘[]’ karekterlerini eklemektedir.

SELECT QUOTENAME ('teknopati.net')

Sonuç olarak “[teknopati.net]” ifadesini vermektedir.

REPLACE

3 parametre istemektedir. 1. parametre string değerimiz, 2. parametre değişmesini istediğimiz değer ve 3. parametre yeni değerdir.

SELECT REPLACE('teknopati.net','.net','.com')

Sonuç olarak “teknopati.com” ifadesini vermektedir.

REPLICATE

2 parametre istemektedir. 1. parametredeki değeri 2 parametre kadar tekrar ettirmektedir.

SELECT REPLICATE('A',3)

Sonuç olarak “AAA”ifadesini vermektedir.

REVERSE

Girilen string ifadeyi tersine çevirmektedir.

SELECT REVERSE('Teknopati.net')

Sonuç olarak “ten.itaponkeT” gibi bir ifade dönmektedir.

SPACE

Girilen sayı değeri kadar boşluk üretir.

SELECT 'Teknopati' + SPACE(15) + '.net'

Sonuç olarak “Teknopati               .net” ifadesi dönmektedir.

STR

Girilen sayısal ifadeyi metinsel olarak vermektedir. Float veri tipinde yuvarlama ve uzunluk işlemini yapabilir.

SELECT STR(123.45, 5, 2);

Sonuç olarak “123.5” vermektedir.

STRING_AGG

2 parametre istemektedir. 1. parametre bir dizi, 2. parametre karakter. Dizideki değerleri birleştirir. Birleştirirken her değerin arasına 2. parametreyi ekler.

SELECT STRING_AGG (Name, ',') AS Sonuç from Employee

Sonuç olarak “Ayşe,Fatma,Ece,Ecrin” birleşimini vermektedir.

STRING_SPLIT

2 parametre istemektedir. 1. parametre string ifade, 2. parametre karakter. String’i 2. parametredeki karaktere göre parçalar.

SELECT  value FROM  STRING_SPLIT ('Teknopati.net.com','.')

Sonucumuz
Teknopati
net
com şeklindedir.

STUFF

STUFF string içinde bir alanı başka bir string ile değiştirmektedir. 4 parametresi vardır. 1. parametre ana string’imiz, 2. parametre kaçıncı index’ten değişime başlancak, 3. parametre kaç index değiştirilcek, 4. parametre eklenecek string ifadededir.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');

Sonuc olarak “aijklmnef” ifadesini vermektedir.

SUBSTRING

String içerisinde istediğimiz uzunluk kadar belirli bir alanı almamızı sağlar. Kullanımında 3 parametre istemektredir. 1. parametre string ifadesi, 2. parametre kaçıncı indexten başlanacağı bilgisi, 3. parametre uzunluktur.

SELECT SUBSTRING('Teknopati.net Kaliteli İçerik Üretmeyi Hedeflemektedir', 24, 6 );

Sonucumuz “İçerik” ifadesini vermektedir.

TRANSLATE

String içinde karakterlerin değişimini yapar. Temel olarak 3 parametre istemektedir. 1 parametre string ifadesi, 2. parametre değiştirilecek karakterler, 3. parametre yeni karakterler. 2. ve 3. parametler indexler eşlenerek değişim yapılır. Yani 2. parametredeki 2. index’teki karakter 3. parametredeki 2. index’le eşlenir.

SELECT TRANSLATE('2*[3+4]/{7-2}', '[]{}', '()[!');

Sonuç olarak “2*(3+4)/[7-2!” ifadesini vermektedir.

MSSQL String Fonksiyonları bu kadar. Gerektiği zaman kullanılan fonksiyonlardır. Nadir kullanılan fonksiyonların işlevleri unutulabiliyor. Konu ile ilgili Microsoft’un dökümanına bakabilirsiniz.

E-bültene Abone Ol Merak etmeyin. Spam yapmayacağız.

Yazar

Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliğini bitirip sektörde veri tabanı mühendisi olarak göreve başladım.

İlgili Yazılar

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Hızlı yorum için giriş yapın.

Başka Yazı Yok

Kayıt Ol

Zaten üye misiniz? Giriş Yap

Giriş Yap

Henüz üyeliğiniz yok mu? Kayıt Ol