Upload
kilenya-young
View
110
Download
0
Embed Size (px)
DESCRIPTION
SQL String Fonksiyonları. 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 - PowerPoint PPT Presentation
Citation preview
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') --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 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Ü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
LENLEN 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 ')--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
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ÜZEL SELECT STUFF('BUGÜN HAVA ÇOK GÜZEL',7,0,'GÖZYÜZÜ ve ') --BUGÜN GÖZYÜZÜ ve HAVA ÇOK GÜZEL
Bu 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.
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
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üzel
SELECT UPPER('Bugün HAVA çok GÜZEL')--BUGÜN HAVA ÇOK GÜZEL
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.
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')--65 SELECT CHAR(65)--A
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)--AAAAA SELECT 'A'+REPLICATE(' ',5)+'X'--A X
SPACESPACE 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
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.
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·
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)
Tarih Parçası Kısaltması
Year yy, yyyy
Quarter qq, q
Month mm, m
Dayofyear dy, y
Day dd, d
Week wk, ww
Hour hh
Minute mi, n
Second ss, s
Millisecond ms
sayıTarih kısmını artırmak için kullanılan değer. tarihTarih değerini döndüren tarih bilgisi.
ÖrnekSon on gün içinde yapılan siparişler: SELECT ord_num, ord_date
FROM salesWHERE(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ıYear yy, yyyyQuarter qq, qMonth mm, mDayofyear dy, yDay dd, dWeek wk, wwHour hhMinute mi, nSecond ss, smillisecond Ms
ÖrnekŞu anki tarih ile yayın tarihi arasındaki fark: USE pubsGOSELECT DATEDIFF(day, pubdate, getdate())
FROM titlesGO
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.
Tarih bölümü Kısaltma
year yy, yyyy
quarter qq, q
month mm, m
dayofyear dy, y
day dd, d
week wk, ww
weekday Dw
hour Hh
minute mi, n
second ss, s
millisecond Ms
ÖrnekAş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
DAYBir tarih bilgisinin gün kısmını verir. Kullanım Biçimi: DAY(tarih) Argümanları: tarih datetime ya da smalldatetime tarih bilgisi.
ÖrnekAşağıdaki örnekte verilen tarihin gün kısmı
verilmektedir: SELECT DAY(‘1999/12/26') AS 'Gün'GO Sonuç: Gün
------------ 26
MONTHBir tarih bilgisinin ay kısmını verir. Kullanım Biçimi: MONTH(tarih) Argümanları: tarih datetime ya da smalldatetime tarih bilgisi.
ÖrnekAşağıdaki örnekte verilen tarihin ay kısmı
verilmektedir: SELECT MONTH(‘1999/03/12') AS 'Ay'GO Sonuç: Ay
------------ 03