31
SQL String Fonksiyonları

SQL String Fonksiyonları

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

SQL String Fonksiyonları

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ı

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

YEARBir tarih bilgisinin yıl kısmını verir.  Kullanım Biçimi:  YEAR(tarih) Argümanları:  tarih

ÖrnekAşağıdaki örnekte verilen tarihin yıl kısmı

verilmektedir:  SELECT YEAR(‘1999/12/03') AS ‘Yıl'GO Sonuç:  Yıl

------------ 1999