29 Ekim 2012 Pazartesi

53. IF..ELSE Yapısının Kullanılması

  • Diğer programlama dillerinde olduğu gibi SQLde de bloklar kullanılır.
  • Eğer işlenecek komut satırları birden fazla ise mutlaka BEGIN..END yapısı kullanılmalıdır.
  • IF..ELSE blokları komutların belirli bir koşula bağlı olarak çalışmasını sağlar.
SÖZ DİZİMİ:
IF Koşul
{
   Deyim
}
ELSE
{
   Deyim
}
ÖRNEK:
//ortalama fiyatın düşük veya yüksek olup olmadığını buluyoruz.

DECLARE @ortalamafiyat DECIMAL(10,2)
SELECT @ortalamafiyat=AVG(UnitPrice) FROM Products
PRINT 'Ortalama Birim Fiyatı='+CAST(@ortalamafiyat AS VARCHAR(5))
IF(@ortalamafiyat<30)
BEGIN
    PRINT 'Düşük Fiyat'
END
ELSE
BEGIN
    PRINT 'Yüksek Fiyat'
END


Ders 54'e geçebilirsiniz.

14 Ekim 2012 Pazar

52. SQL KARAKTER FONKSİYONLARI

  • Karakter değerleri üzerinde işlem yapmak için karakter fonksiyonları kullanılır.
1-) CHAR() Fonksiyonu
-ASCII kodu verilen karakteri gösterir.

SELECT CHAR(69)  // E harfi

SELECT ASCII('B') // 66

2-) CHARINDEX() Fonksiyonu
-Bir metin içerisinde istedilen metin parçasını istediğimiz konumdan itibaren arar.

SELECT CHARINDEX('Aranacak metin','İçinde arancak metin',0)

SELECT CHARINDEX('tr','sqltr.blogspot.com',0) // Sonuç 4 döner.

3-) LEFT() Fonksiyonu
-Metinde sol taraftan istediğimiz uzunluktaki metni alır.

SELECT LEFT('sqltr.blogspot.com',5) // Sonuç 'sqltr' döner.

4-) LEN() Fonksiyonu
-Metnin uzunluğunu verir.

SELECT LEN('sqltr.blogspot.com') // Sonuç 18

5-) LOWER() Fonksiyonu
-Metnin tamamını küçük harfe çevirir.

SELECT LOWER('SQLtr.BLOGspot.com') // Sonuç 'sqltr.blogspot.com'

6-) LTRIM() Fonksiyonu
-Metnin başında bulunan boşluk karakterlerini siler.

SELECT LTRIM('  sqltr.blogspot.com')  // Sonuç 'sqltr.blogspot.com'

7-) RIGHT() Fonksiyonu
-Metinde sağ taraftan istediğimiz uzunluktaki metni alır.

SELECT RIGHT('sqltr.blogspot.com',3) // Sonuç 'com' döner.

8-) RTRIM() Fonksiyonu
-Metnin sonunda bulunan boşluk karakterlerini siler.

SELECT RTRIM('sqltr.blogspot.com  ')  // Sonuç 'sqltr.blogspot.com'

picture8

9-) REVERSE() Fonksiyonu
-Metni ters çevirir.

SELECT REVERSE('sqltr.blogspot.com') // Sonuç 'moc.topsgolb.rtlqs'

10-) SUBSTRING() Fonksiyonu
-Belirli bir metinde belirli bir karakterden itibaren belirli sayıda karakteri almak için kullanılır.

SELECT SUBSTRING('sqltr.blogspot.com',1,5) // 'sqltr' döner.

Not: Dikkatli olmanız gereken String ifadelerde ilk karakter 1. karakterdir. 0.karakter değildir.

11-) UPPER() Fonksiyonu
-Metnin tamamını büyük harfe çevirir.

SELECT UPPER('SQLtr.BLOGspot.com') // Sonuç 'SQLTR.BLOGSPOT.COM'

12-) STUFF() Fonksiyonu

-Metnin içinde belirttiğimiz uzunluktaki karakteri siler ve onun yerine belirlediğimiz uzunlukta karakter ekler.

- STUFF ( metin, başlangıç karakteri, kaç karakter, yeni eklenecek metin)

SELECT STUFF('sqltr.blogspot.com',1,5,'aileye')

13-) CONCAT() Fonksiyonu 
Ders- 65

14-) PATINDEX() Fonksiyonu
Ders- 66

15-) REPLACE() Fonksiyonu 
Ders- 67




Ders 53'e geçebilirsiniz.

51. SQL TARİH VE ZAMAN FONKSİYONLARI

  • Tarih ve zaman değerleri üzerinde işlemler yapmamızı sağlayan fonksiyoları içerir.

1-)GETDATE() Fonksiyonu
-O an ki tarih ve saat değerini dönüdürür.

Örnek: SELECT GETDATE()


2-)DATEADD() Fonksiyonu
-Verilen tarihi istenilen sayıda tarih bilgilerinin eklemesini yapar.

-Bu fonksiyonda bilmemiz gereken;
dd(gün)
mm(ay)
yy(yıl) anlamına gelmektedir.

Örnek 1: SELECT DATEADD(dd,60,'15.09.2012')
Açıklama: Belirtilen tarihe 60 gün ekleyen fonksiyon.
//Sonuç .14.11.2012

Örnek 2:
SELECT DATEADD(mm,2,'15.09.2012')
Açıklama: Belirtilen tarihe 2 ay ekleyen fonksiyon.
//Sonuç 15.11.2012

Örnek 3: SELECT DATEADD(yy,3,'15.09.2012')
Açıklama: Belirtilen tarihe 3 yıl ekleyen fonksiyon.
//Sonuç 15.09.2015

3-)DATEDIFF() Fonksiyonu
-Belirtilen iki tarih arasındaki farkı istenilen cinste verir.

Örnek: SELECT DATEDIFF(dd,'10.10.2011','11.11.2012')
Açıklama:İki tarih arasındaki gün farkını verir.
NOT:Ayrıca;
Hafta için 'wk'
Gün için 'dd'
Saat için 'hh'
Dakika için 'mi'
Saniye için 'ss'



4-)DATEPART() Fonksiyonu
-Tarihle ilgili sayısal bilgilerin alınmasını sağlar.

Örnek:
SELECT DATEPART(dd,'13.12.2012')

SELECT DATEPART(mm,'13.12.2012')

SELECT DATEPART(yy,'13.12.2012')



Ders 52'ye geçebilirsiniz.