CHARINDEX CHARINDEX fonksiyonu 2 parametre almaktadır. 1.parametredeki değerin 2.parametre olarak verilmiş değerde olup olmadığını belirtir. Varsa karakter numarasını yoksa “0 ″ değerini döndürür. SELECT CHARINDEX ('U','BUGÜN HAVA ÇOK GÜZEL') -- 2 SELECT CHARINDEX ('A','BUGÜN HAVA ÇOK GÜZEL') -- 8 SELECT CHARINDEX ('HAVA','BUGÜN HAVA ÇOK GÜZEL') --7 SELECT CHARINDEX ('ABC','BUGÜN HAVA ÇOK GÜZEL') --0
CHARINDEX(Devam) CHARINDEX fonksiyonu seçmeli olarak 3.parametre de alabilir. Bu parametre aramanın yapılacağı başlangıç konumunu belirtir. Örneğin üstteki 2.SELECT cümlesi bulduğu ilk “A”nın konumunu döndürdü. 9.karakterden itibaren arama yapmasını istediğimizde 2.”A”yı bulmuş olacaktır. SELECT CHARINDEX ('A','BUGÜN HAVA ÇOK GÜZEL',9) --10
LEFT ve RIGHT LEFT ve RIGHT fonksiyonları 2 parametre alıp bir metnin sağından veya solundan ne kadar keseceğini belirtir. Kaç karakterin alınacağı 2.parametre olarak verilir. SELECT LEFT('BUGÜN HAVA ÇOK GÜZEL',5)--BUGÜN SELECT LEFT('BUGÜN HAVA ÇOK GÜZEL',100)--BUGÜN HAVA ÇOK GÜZEL SELECT RIGHT('BUGÜN HAVA ÇOK GÜZEL',5)--GÜZEL SELECT RIGHT('BUGÜN HAVA ÇOK GÜZEL',500)-- BUGÜN HAVA ÇOK GÜZEL
LEN LEN fonksiyonu parametre olarak aldığı metnin uzunluğunu belirtir. SELECT LEN('BUGÜN HAVA ÇOK GÜZEL')--20 SELECT LEN('BUGÜN HAVA ÇOK GÜZEL')--25
REPLACE REPLACE fonksiyonu 3 parametre alıp bir metnin içindeki bir karakteri başka bir karakterle değiştirmeyi sağlar. İlk parametre değişiklik yapılacak metni, ikinci parametre metin içinde aranacak veriyi, üçüncü parametre de bu verinin hangi veriyle değiştirileceği belirtilir. SELECT REPLACE('BUGÜN HAVA ÇOK GÜZEL','GÜZEL','KÖTÜ') --BUGÜN HAVA ÇOK KÖTÜ SELECT REPLACE('BUGÜN HAVA ÇOK GÜZEL','KÖTÜ','GÜZEL') --BUGÜN HAVA ÇOK GÜZEL
SUBSTRING SUBSTRING fonksiyonu en çok kullanılan fonksiyonlardan biri olup bir metnin belirlenmiş başlangıç noktasından itibaren parametre olarak verilmiş uzunluk kadar karakteri döndürür. SELECT SUBSTRING('BUGÜN HAVA ÇOK GÜZEL',7,4)--HAVA
LOWER ve UPPER LOWER ve UPPER fonksiyonları metni küçük veya büyük harfe çevirir. SELECT LOWER('BUGÜN HAVA ÇOK GÜZEL')-- bugün hava çok güzel SELECT UPPER('Bugün HAVA çok GÜZEL')--BUGÜN HAVA ÇOK GÜZEL
LTRIM ve RTRIM LTRIM ve RTRIM fonksiyonları SQL Server üzerinde metinsel verilerle uğraşan kişilerin en çok kullandığı fonksiyonlardır diye biliriz. LTRIM, metnin sol tarafındaki boşlukları, RTRIM ise sağ tarafındaki boşlukları siler.
REPLICATE REPLICATE fonksiyonu string ve int olmak üzere 2 parametre alır. Girilen sayı kadar ilk parametredeki değeri yazdırır. SELECT REPLICATE('A',5)--AAAAA SELECT 'A'+REPLICATE(' ',5)+'X'--A X
SPACE SPACE fonksiyonu parametre aldığı sayı kadar boşluk karakteri döndürür. SELECT 'A'+SPACE(5)+'X'—A X SELECT LEN('A'+SPACE(5)+'X')--7
Tarih ve Zaman Fonksiyonları Bu fonksiyonlar tarih (date) ve zaman (time) üzerinde işlemler yapmayı sağlar. Tarih ve zaman fonksiyonları şunlardır: · DATEADD · DATEDIFF · DATENAME · DATEPART · DAY · GETDATE · MONTH · YEAR ·
DATEADD Belli bir tarihin üzerine değer eklenerek yeni bir tarih değeri üretir. Kullanım biçimi: DATEADD ( tarihkısmı, sayı, tarih) Argümanları: Tarih kısmı (aşağıdaki değişkenlerden birini alır)
Tarih ParçasıKısaltması Yearyy, yyyy Quarterqq, q Monthmm, m Dayofyeardy, y Daydd, d Weekwk, ww Hourhh Minutemi, n Secondss, s Millisecondms sayı Tarih kısmını artırmak için kullanılan değer. tarih Tarih değerini döndüren tarih bilgisi.
Örnek Son on gün içinde yapılan siparişler: SELECT ord_num, ord_date FROM sales WHERE (ord_date >= DATEADD(day, -10, GETDATE()))
DATEDIFF İki tarih arasındaki gün sayısını verir. Kullanımı: DATEDIFF ( Tarih parçası, başlangıç tarihi, bitiş tarihi) Argümanları: Tarih parçası
Tarih ParçasıKısaltması Yearyy, yyyy Quarterqq, q Monthmm, m Dayofyeardy, y Daydd, d Weekwk, ww Hourhh Minutemi, n Secondss, s millisecondMs
Örnek Şu anki tarih ile yayın tarihi arasındaki fark: USE pubs GO SELECT DATEDIFF(day, pubdate, getdate()) FROM titles GO
DATEPART Belirtilen tarihin istenen parçasına karşılık olarak bir tamsayı döndürür. Kullanım Biçimi: DATEPART(tarihparçası, tarih) Argümanları: Tarih parçası Tarih bilgisinin bir kısmını ifade eden bilgi.
Tarih bölümüKısaltma yearyy, yyyy quarterqq, q monthmm, m dayofyeardy, y daydd, d weekwk, ww weekdayDw hourHh minutemi, n secondss, s millisecondMs
Örnek Aşağıdaki örnekte şu anki tarihin karşılık geldiği ay adı ve ay numarası bulunmaktadır: SELECT GETDATE() Tarihi verir SELECT DATEPART(month, GETDATE()) Ayı verir
DAY Bir tarih bilgisinin gün kısmını verir. Kullanım Biçimi: DAY(tarih) Argümanları: tarih datetime ya da smalldatetime tarih bilgisi.
Örnek Aşağıdaki örnekte verilen tarihin gün kısmı verilmektedir: SELECT DAY(‘1999/12/26') AS 'Gün' GO Sonuç: Gün
MONTH Bir tarih bilgisinin ay kısmını verir. Kullanım Biçimi: MONTH(tarih) Argümanları: tarih datetime ya da smalldatetime tarih bilgisi.
Örnek Aşağıdaki örnekte verilen tarihin ay kısmı verilmektedir: SELECT MONTH(‘1999/03/12') AS 'Ay' GO Sonuç: Ay
YEAR Bir tarih bilgisinin yıl kısmını verir. Kullanım Biçimi: YEAR(tarih) Argümanları: tarih
Örnek Aşağıdaki örnekte verilen tarihin yıl kısmı verilmektedir: SELECT YEAR(‘1999/12/03') AS ‘Yıl' GO Sonuç: Yıl