2 CHARINDEXCHARINDEX 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') --2SELECT CHARINDEX ('A','BUGÜN HAVA ÇOK GÜZEL') --8SELECT CHARINDEX ('HAVA','BUGÜN HAVA ÇOK GÜZEL') --7SELECT CHARINDEX ('ABC','BUGÜN HAVA ÇOK GÜZEL') --0
3 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
4 LEFT ve RIGHTLEFT 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ÜNSELECT LEFT('BUGÜN HAVA ÇOK GÜZEL',100)--BUGÜN HAVA ÇOK GÜZELSELECT RIGHT('BUGÜN HAVA ÇOK GÜZEL',5)--GÜZELSELECT RIGHT('BUGÜN HAVA ÇOK GÜZEL',500)--BUGÜN HAVA ÇOK GÜZEL
5 LEN LEN fonksiyonu parametre olarak aldığı metnin uzunluğunu belirtir. SELECT LEN('BUGÜN HAVA ÇOK GÜZEL')--20SELECT LEN('BUGÜN HAVA ÇOK GÜZEL ')--20SELECT LEN('BUGÜN HAVA ÇOK GÜZEL')--25
6 REPLACEREPLACE 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
7 STUFFSTUFF fonksiyonu 4 parametre alır. Bir metnin belli bir alanını başka bir metin ile değiştirmek için kullanılır. 2. parametrede değişimin hangi karakter numarasından sonra yapılacağını, 3.parametre de o numaradan sonraki karakter uzunluğunu belirtir. 3. parametredeki uzunluk bilgisi o kadar metnin sileceğini belirtir.SELECT STUFF('BUGÜN HAVA ÇOK GÜZEL',7,4,'GÖZYÜZÜ')--BUGÜN GÖZYÜZÜ ÇOK GÜZELSELECT STUFF('BUGÜN HAVA ÇOK GÜZEL',7,0,'GÖZYÜZÜ ve ')--BUGÜN GÖZYÜZÜ ve HAVA ÇOK GÜZELBu fonksiyonlarda sabit değer verdiğimiz gibi tablodaki bir kolonu da parametre olarak verebiliriz. Ayrıca COLLATE yantümcesi kullanılarak karakter tipinin nasıl yorumlanacağı da belirtilebilir.
8 SUBSTRINGSUBSTRING 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
9 LOWER ve UPPERLOWER 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üzelSELECT UPPER('Bugün HAVA çok GÜZEL')--BUGÜN HAVA ÇOK GÜZEL
10 LTRIM ve RTRIMLTRIM 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.
11 ASCII ve CHARASCII ve CHAR fonksiyonları diğer dillerden aşina olduğumuz fonksiyonlar olup ASCII, karakterin ascii karşılığını, CHAR ise parametre aldığı ascii kodun char karşılığını döndürür.SELECT ASCII('A')--65SELECT CHAR(65)--A
12 REPLICATEREPLICATE fonksiyonu string ve int olmak üzere 2 parametre alır. Girilen sayı kadar ilk parametredeki değeri yazdırır.SELECT REPLICATE('A',5)--AAAAASELECT 'A'+REPLICATE(' ',5)+'X'--A X
13 SPACESPACE fonksiyonu parametre aldığı sayı kadar boşluk karakteri döndürür.SELECT 'A'+SPACE(5)+'X'--A XSELECT LEN('A'+SPACE(5)+'X')--7
14 QUOTENAMEQUOTENAME fonksiyonu parametre aldığı metni SQL’de geçerli tanımlayıcıları ifade eden [] içerisine alır.SELECT QUOTENAME('Müşteri Adı Soyadı')--[Müşteri Adı Soyadı] sine alır.
16 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·
17 DATEADDBelli 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)
18 Tarih kısmını artırmak için kullanılan değer. tarih Tarih ParçasıKısaltmasıYearyy, yyyyQuarterqq, qMonthmm, mDayofyeardy, yDaydd, dWeekwk, wwHourhhMinutemi, nSecondss, sMillisecondmssayıTarih kısmını artırmak için kullanılan değer.tarihTarih değerini döndüren tarih bilgisi.
19 Ö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()))
20 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ı
22 Örnek Şu anki tarih ile yayın tarihi arasındaki fark: USE pubs GO SELECT DATEDIFF(day, pubdate, getdate()) FROM titles
23 DATEPARTBelirtilen 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.