SQL Fonksiyonları

+ Yorum Gönder
Webmaster ve HTML-PHP-ASP-JAVA Bölümünden SQL Fonksiyonları ile ilgili Kısaca Bilgi
  1. 1
    tuanamlk
    Usta Üye
    Reklam

    SQL Fonksiyonları

    Reklam



    SQL Fonksiyonları

    Forum Alev


    SQL Server'da Fonksiyonlar, hesaplamalarda ve özellikle sistem hakkında bilgi almada yaygın olarak kullanılan araçlardır. Transact-SQL (T-SQL) programlama dilinde değişik kategorilerle adlandırılan fonksiyonlar vardır. Bunlardan en yaygını veriler üzerinde işlem yapan toplama ya da gruplama olarak adlandırabileceğimiz aggregate fonksiyonlarıdır.

    A. GRUPLAMA FONKSİYONLARI

    Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç değer döndürürler. Toplama ya da gruplama fonksiyonları olarak adlandırabileceğimiz bu fonksiyonlar genellikle GROUP BY deyimi ile kullanılırlar.


    Gruplama fonksiyonları aşağıdaki ifadeler içinde kullanılabilirler.

    · SELECT deyiminin listesinden (bir subquery olarak)
    · Bir COMPUTE ya da COMPUTE BY sözcüğü ile.
    · Bir HAVING sözcüğü ile.

    Transact-SQL programlama dilinde şu aggregate fonksiyonları kullanılır:

    · AVG
    · COUNT
    · GROUPING
    · MAX
    · MIN
    · SUM
    · STDEV
    · STDEVP
    · VAR
    · VARP

    NOT: Bu dokümanlar Faruk Çubukçu tarafından hazırlanmıştır. Bütün hakları saklıdır. Ticari olarak kullanılamaz. Bakınız: www.farukcubukcu.com
    Adı geçen ve telif haklı olan ürünler bilgi amaçlı olarak kullanılmıştır.


    AVG (T-SQL) Fonksiyonu
    Bir grup içindeki değerlerin ortalamasını döndürür. Null değerler dikkate alınmaz.

    Kullanım Biçimi:

    AVG([ALL | DISTINCT] ifade)

    Argümanları:
    ALL

    Ortalama fonksiyonunu bütün değerlere uygular.

    DISTINCT
    İşlemin her tek değer için uygulanacağını belirtir. Diğer bir deyişle tekrar eden değerlerin yerine birisi kullanılır.

    ifade

    Sayısal bir değeri olan ifade ya da kolon adı.

    Örnek:

    Aşağıdaki örnekte satış miktarları toplanmakta ve ortalaması alınarak iki ayrı sonuç değeri verilmektedir:

    USE Northwind
    GO
    SELECT AVG(quantity), SUM(quantity)
    FROM [Order Details]
    GO

    COUNT (T-SQL) Fonksiyonu
    Bir grup içindeki eleman sayısını verir.

    Kullanım Biçimi:

    COUNT({[ALL | DISTINCT] ifade] | *})

    Argümanları:

    ALL

    Fonksiyonunu bütün değerlere uygular.

    DISTINCT
    İşlemin her tek değer için uygulanacağını belirtir. Diğer bir deyişle tekrar eden değerlerin yerine birisi kullanılır.

    ifade

    Bir ifade ya da kolon adı.

    *
    Bir tablodaki bütün satırların sayısını döndürmek için kullanılır. COUNT(*) herhangi bir paratmetre ile kullanılmaz ve DISTINCT ile kullanılmaz.

    COUNT(*) ile null ve tekrar eden değerler dahil bütün elemanlar sayılır.

    Örnek:

    Aşağıdaki örnekte ürünler tablosundaki ürünler sayılır. DISTINCT ile tekrara izin verilmez.

    USE Northwind
    GO
    SELECT COUNT(DISTINCT productname)
    FROM products
    GO

    MAX (T-SQL) Fonksiyonu
    İfade içindeki maksimum değeri döndürür.

    Kullanım Biçimi:

    MAX([ALL | DISTINCT] ifade)

    Argümanları:

    ALL

    Fonskiyonunu bütün değerlere uygular.

    MIN (T-SQL) FOnksiyonu
    İfade içindeki minimum değeri döndürür.

    Kullanım Biçimi:

    MIN([ALL | DISTINCT] ifade)

    Argümanları:

    ALL

    Fonskiyonunu bütün değerlere uygular.

    Örnek:

    Aşağıdaki örnekte en küçük satış adedi elde edilmektedir:

    USE Northwind
    GO
    SELECT MIN(quantity)
    FROM [Order Details]
    GO

    SUM Fonksiyonu

    Değerlerin toplamlarını verir. SUM fonksiyonu sadece sayısal alanlarda kullanılır.

    Kullanım Biçimi:

    SUM ([ALL | DISTINCT] ifade)

    Argümanları:
    ALL
    Toplama (aggregate) fonksiyonunu bütün değerlere uygular. ALL seçeneği varsayım olarak kullanılır.
    DISTINCT
    SUM fonksiyonunu tek değerlerin (unique) toplamını vermesini sağlar.
    İfade
    Bir sabit, bir kolon, fonksiyon ya da bir aritmetik işlem.
    Örnek:

    USE pubs
    GO
    -- Satır toplamları

    SELECT type, price, advance
    FROM titles
    ORDER BY type
    COMPUTE SUM(price), SUM(advance) BY type

    B. TARİH VE ZAMAN FONKSİYONLARI (T-SQL)

    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
    · CONVERT

    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ı
    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.
    tarih
    Tarih değerini döndüren tarih bilgidi.
    Örnekler:

    Yayın tarihinin 30 gün sonrası:
    USE pubsGOSELECT DATEADD(day, 30, pubdate) FROM titlesGO
    Ö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ı
    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

    Örnek: Şu anki tarih ile yayın tarihi arasındaki fark:
    USE pubsGOSELECT DATEDIFF(day, pubdate, getdate()) FROM titlesGO
    DATEPART (T-SQL)
    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.




  2. 2
    tuanamlk
    Usta Üye

    --->: SQL Fonksiyonları

    Reklam



    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

    Ö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 (T-SQL)
    Bir tarih bilgisinin gün kısmını verir.

    Kullanım Biçimi:

    DAY(tarih)

    Argümanları:

    tarih


    datetime ya da smalldatetime tarih bilgisi.

    Aşağıdaki örnekte verilen tarihin gün kısmı verilmektedir:

    SELECT DAY('26/03/1999') AS 'Gün'
    GO

    Sonuç:

    Gün
    ------------
    26


    MONTH (T-SQL)
    Bir tarih bilgisinin ay kısmını verir.

    Kullanım Biçimi:

    MONTH(tarih)

    Argümanları:

    tarih

    datetime ya da smalldatetime tarih bilgisi.

    Aşağıdaki örnekte verilen tarihin ay kısmı verilmektedir:

    SELECT MONTH('26/03/1999') AS 'Ay'
    GO

    Sonuç:

    Ay
    ------------
    03

    YEAR (T-SQL)
    Bir tarih bilgisinin yıl kısmını verir.

    Kullanım Biçimi:

    YEAR(tarih)

    Argümanları:

    tarih
    D. KARAKER FONKSİYONLARI

    String (karakter) alanları işlemek için yaygın kullandığımız fonksiyonlar bu alana girer. Transact-SQL dilinde kullanılan bazı karakter fonksiyonları şunlardır:
    • ASCII
    • CHAR
    • CHARINDEX
    • DIFFERENCE
    • LEFT
    • LEN
    • LOWER
    • LTRIM
    • NCHAR
    • REPLICATE
    • REVERSE
    • SUBSTRING
    • QUOTENAME
    • STUFF
    • REPLACE
    • STR
    • SOUNDEX
    • PATINDEX
    • SPACE
    • RIGHT
    • RTRIM
    • UPPER
    • UNICODE
    ASCII
    Bir karakter ifadenin en soldaki değerinin ASCII kodunu döndürür.

    Kullanımı:
    ASCII ( karakter ifade)
    Karekter ifade char ya da varchar türündedir.
    Döndürdüğü tür: Int
    Örnek:
    Bizim Ev cümlesinin bütün karakterlerinin ASCII değerini döndürür:
    SET TEXTSIZE 0SET NOCOUNT ON-- değişken oluştur.DECLARE @konum int, @karakter char(15)-- değişkenlere ilk değer ver.SET @konum= 1SET @karakter= 'Bizim Ev'WHILE @konum<= DATALENGTH(@karakter) BEGIN SELECT ASCII(SUBSTRING(@karakter, @konum, 1)), CHAR(ASCII(SUBSTRING(@karakter, @konum, 1))) SET @konum= @konum + 1 ENDSET NOCOUNT OFFGO
    CHARINDEX
    Bir karakter dize içinde belirtilen bir ifadenin (karakterin) başlangıç konumunu döndürür.

    Kullanımı:

    CHARINDEX ( ifade1, ifade2[ , başlangıç konumu] )
    İfade1: aranacak karakterleri belirtir.
    İfade2: İfade1'deki karakterlerin aranacağı karakterleri belirtir.
    Başlangıç konumu ise aramanın başlanacağı konumu belirtir.
    Döndürdüğü tür: Int
    İfadelerden birisi NULL ise CHARINDEX fonksiyonu NULL değerini döndürür. İfade1, İfade2 içinde bulunamazda 0 değeri döner.
    Örnek: ADI alanında BOYASI sözcüğünün başladığı konumu döndürür.
    SELECT CHARINDEX('BOYASI', adi)FROM urun -- arama için başlangıkç konumu belirtmek istersekSELECT CHARINDEX('BOYASI', adi, 5)FROM urun
    Yalnızca adlar listesi:

    select left (adi,charindex(' ', adi)) from cariana


    LEFT
    Bir karakter dizesinin sol taraftan belirtilen sayı kadar keser.

    Kullanımı:

    LEFT ( karakter dize, tarmsayı)
    Örnek: Adların soldan beş karakteri:
    USE ornekGOSELECT LEFT(adi, 5) FROM carianaORDER BY koduGO
    LEN
    Dize verinin uzunluğunu döndürür.
    Kullanımı:

    LEN ( karakter dize)
    Örnek: Adı alanının uzunluğu:

    SELECT LEN(adi) AS 'Uzunluk'FROM cariana
    use ornek
    select substring (adi,charindex(' ',adi)+1,(len(adi)-charindex(' ',adi))) from cariana
    -- soyadını ayırmak


    LTRIM
    Önündeki boşlukları siler.
    Kullanımı:

    LTRIM ( karakter dize)
    RIGHT
    Belirtilen dizenin sağ tarafından keser.

    Kullanımı:

    RIGHT ( karakter dizesi, tamsayı)
    Arguments

    Örnek:

    Adı alanını sağlan 10 karakteri:
    SELECT RIGHT(adi, 10) FROM cariana

    RTRIM
    Karakter dizesinin arkasındaki boşlukları kaldırır.
    Kullanımı:

    RTRIM ( karakter dize)
    Örnek: Bir alan güncelleme:

    update deneme
    set alan1 = rtrim(alan1) + rtrim('a')


    STUFF
    Belirtilen uzunluktaki karakterleri siler ve yerine belirtilen diğer karakterleri ekler.
    Syntax

    STUFF ( karaker dize, başlangıç, uzunluk, karakter dize)
    Örnek: use ornekSELECT STUFF(tel, 7, 1, '8') from cariana-- telefon numarasında 7 karakteri 9 ile değiştirmek SUBSTRING
    Bir karakter dizesinin içinden belli karakterleri seçer.
    Kullanımı:

    SUBSTRING ( karakter dize, başlangıç, uzunluk)


    Örnek:

    Adı alanının içinde üçüncü karakter başlayım 4 tane karakteri döndürmek:

    SELECT SUBSTRING(adi, 3, 4)FROM cariana Adı soyadı alanından soyadını çekmek: select substring (adi,charindex(' ',adi)+1,(len(adi)-charindex(' ',adi))) from cariana Gözden Geçirme


    1. SQL Dili fonksiyonlarının sınıflarını açıklayınız.

    2. Bir alanın soldan üç karakterini seçmek için hangi fonksiyonları kullanabiliriz.










+ Yorum Gönder
sql fonksiyon kullanımı,  sql fonksiyonları,  sql parçaal,  SQL DE AY
5 üzerinden | Toplam : 0 kişi