STRING FONKSYONLAR
Tablodaki veri sütunlarındaki değerler içerisinde arama yaparken tüm veri
kullanılarak değil ama verinin belli bir kısmı ile işlem yapmak istenirse şimdiye kadar
anlatılan SELECT komutu formatı itibariyle yetersiz kalır. Bu durumda arama kriterlerine
bağlı olarak belli başlı deyimler ve operatörler ile birlikte SELECT komutu kullanılır.
LIKE deyimi: Like deyimi belirtilen alan içerisinde sizin belirlediğiniz formatlara uyan
verilerin gösterilmesi için kullanılır. Birlikte kullanılan operatörler de _(önemli değil), []
(yada), [*-*](arasında), [^*] (değil) operatörleridir.
_ (önemli değil) operatörü:% işaretinden farklı olarak belli karakterler için geçerlidir.
Örnek: ilk harfi m ikinci harfi önemli değil ama üçüncü harfi s olanları listelesin
select * from personeller where adi like 'm_r%'
[](yada operatörü]:Bir grup karakter elemanın toplu tanımı için kullanılır
Örnek:isimleri a,e,m ile başlayanları listeleyin
select adi,soyadi,PersonelID from personeller where adi like '[a,e,m]%'
[*-*] (arasında operatörü):sıralı alfabetik yada sayısal değerin tanımlanmasında
kullanılır.
Örnek: soyadları d ile n arasındaki harflerle başlayanları listeleyin
select adi,soyadi,PersonelID from personeller where soyadi like'[d-n]%'
Örnek: NakliyeUcreti 1-4 arasındaki rakamlarla başlayan kayıtları gösterin
select * from Satislar where NakliyeUcreti like'[1-4]%'
[^*](değil operatörü): Belirtilen karakter ile başlamayanları görmek istendiğinde
kullanılır.
--ünvan bilgisi s ile başlamayan kayıtları listeleyin
select adi,soyadi,PersonelID from personeller where unvan like '[^s]%'
--isimleri an ile başlamayan kayıtları listeleyin
select adi,soyadi,PersonelID from personeller where adi like '[^an]%'
Alan içerisindeki verilerin belli formatlarda görüntülenmesi yada alan içerisindeki verinin
içindeki veri parçalarına göre görüntüleme istendiğinde kullanılacak şekillendirme
deyimleri vardır (left, right, upper, lower, substring, ltrim, rtrim, reverse, replace,
charindex)
left: Alan içerisindeki verileri soldan itibaren kaç karakterini göstermek isterseniz
kullanılır.
Formatı: select left(alanadi,karaktersayısı) from tabloadi
Örnek: select left(adi,4) as adlar from personeller
right: Alan içerisindeki verileri sağdan itibaren kaç karakterini göstermek isterseniz
kullanılır.
Formatı: select right(alanadi,karaktersayısı) from tabloadi
Örnek: select right(unvan,5) from personeller
upper: Alan içerisindeki verileri büyük harflere dönüştürüp göstermek için kullanılır
Formatı: select upper(alanadi) from tabloadi
Örnek: select upper(soyadi) from personeller
lower: Alan içerisindeki verileri küçük harflere dönüştürüp göstermek için kullanılır
Formatı: select lower(alanadi) from tabloadi
Örnek: select lower(soyadi) from personeller
ltrim: Alandaki verilerin solda kalan boşluk bilgilerini atarak veriyi gösterir.
Formatı: select ltrim(alanadi) from tabloadi
Örnek: select ltrim(soyadi) from personeller
Örnek: select ' tbmyo'
Örnek: select ltrim(' tbmyo')
rtrim: Alandaki verilerin solda kalan boşluk bilgilerini atarak veriyi gösterir.
Formatı: select rtrim(alanadi) from tabloadi
Örnek: select rtrim(soyadi) from personeller
Örnek: select 'tbmyo '+'asasas'
Örnek: select rtrim('tbmyo ')+'asasas'
reverse: Alandaki verileri tersten yazılmış haliyle göstermek için kullanılır.
Formatı: select reverse(alanadi) from tabloadi
Örnek: select reverse(adi) from personeller
replace: Bir alan içerisindeki verilerden yada sizin girdiğiniz veriden değiştirmek
istediğinizi ve yerine konacak veriyi belirterek yer değiştirmesini sağlayabilirsiniz.
Formatı: select replace(alanadi,'değiştirilecek veri','yerine konacak veri')
Örnek: select replace(adi,'Nancy','Fatma') from personeller
Örnek: select replace('tbmyo bilgisayar müh','müh','Teknolojileri')
charindex:Bir karakter veya karakter grubunun bir alan içerisindeki verilerde kaçıncı
sırada yer aldığının bilgisini gösterir.
Formatı: charindex(veri,alanadi)
Örnek: select adi,charindex('an',adi) from personeller
Substring: Sorgu satırında belirtilen alan içerisinde belirtilen sıralar arasındaki karakter
grubunu göstermek için kullanılır.
Formatı: substring(alanadi,başlangıç_sıra_no,bitiş_sıra_no)
Örnek: personeller tablosundan soyadı sütunundaki verilerin 2 ila 4 arasındaki karakterleri
göstermesi istenirse
select soyadi,substring(soyadi,2,4) from personeller
Örnek: personeller tablosunda soyad alanındaki baştan ilk a ya kadar olan karakterleri
gösterin
select substring(soyadi,0,charindex('a',soyadi)) from personeller
LEN:String yada nümerik verilerin karakter uzunluk bilgisi döndürür
Örnek: personellerin soyadları kaç karakter öğrenmek istersek
select soyadi,len(soyadi) from personeller
Örnek: satışlar tablosundaki nakliyeucreti kaç basamaktan oluşuyor.
select len(nakliyeucreti) from satislar
Örnek: Musteriler tablosundaki MusteriAdi alanında Ad ve Soyad birlikte yazılmıştır.
Sadece soyadı almak istersek;
select SUBSTRING(MusteriAdi,charindex(' ',MusteriAdi),Len(MusteriAdi)-(charindex('
',MusteriAdi)-1)) from Musteriler
Örnek: Musteriler tablosundaki MusteriAdi alanında Ad ve Soyad birlikte yazılmıştır.
Sadece adı almak istersek;
select SUBSTRING(MusteriAdi,0,charindex(' ',MusteriAdi)) from Musteriler
TOP: Sorgunun oluşturduğu filtrelenmiş yada tüm listede en üstte yer alan değerleri
gösterir
Örnek: personeller tablosunu göster
select * from personeller
Örnek: personeller tablosundaki en üst 5 kaydı göster.
select top 5 * from personeller
Örnek: select * from satislar
select top 3 * from satislar
Örnek: select top 3 * from satislar order by NakliyeUcreti desc