SET etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
SET etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

23 Ağustos 2014 Cumartesi

SQL'de IF...ELSE Yapısının Kullanımı

Merhabalar, 
Bu makalemde SQL'de  IF...ELSE yapısının kullanımını anlatmaya çalışacağım.
  • Programlama dillerinde olduğu gibi SQL'de de kontroller kullanılır.
  • Kontroller BEGIN deyimi ile başlayıp END deyimi ile biten kod blokları arasında yazılır.
NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu 
IF...ELSE Karar Yapısı:
Bizim belirlediğimiz şartları kontrol eder. Bu şartların doğru olması halinde farklı işlemler, yanlış olması halinde farklı işlemler yapılmasını sağlar.

IF...ELSE Kullanımı: 
IF(Şart1) 
BEGIN     
    İşlemlerimiz 
END   

ELSE IF(Şart2) 
BEGIN     
    İşlemlerimiz 
END   

ELSE 
BEGIN     
    İşlemlerimiz 
END

Örnek Sorgu:
DECLARE @urunsay INT
SET @urunsay=(SELECT Products.UnitsInStock
FROM Products
WHERE Products.ProductID=4)
IF(@urunsay<20)
BEGIN
PRINT 'ProductID 2 olan ürünün stoğu kritik seviyede'
END
ELSE
BEGIN
PRINT 'Ürün için yeterli miktarda stok mevcut'
END




SQL'de String Fonksiyonları

  • SQL'de karakter değerleri üzerinde işlem yapmak için String (karakter) fonksiyonları kullanılır.

SQL'de Tarih ve Zaman Fonksiyonları

  • Tarih ve zaman fonksiyonları, MSSQL kurulumunda hazır olarak gelen, tarih ve zaman ifadeleri üzerinde işlem yapabilmemizi sağlayan fonksiyonlardır.
GETDATE() Fonksiyonu: Sistemin anlık tarih ve saat değerini döndürür.



DATEADD() Fonksiyonu: Başa yazılan parametre cinsinden zamanı belirtilen ölçüde arttırır.

NOT: Bu fonksiyonda dd(gün) mm(ay) yy(yıl) anlamına gelmektedir.

Örneğimiz de  DATEADD Fonksiyonu ile 2014.08.23 tarihine 2 gün eklemekteyiz.

DATEDIFF() Fonksiyonu: Başa yazılan parametre (Hafta için 'wk' Gün için 'dd' Saat için 'hh' Dakika için 'mi' Saniye için 'ss') cinsinden iki tarih arasındaki farkı döndürür.



DATEPART() Fonksiyonu: Verilen tarih-saat parametresini parçalarına ayırıp istenilen parçayı almaya yarar.


ISDATE() Fonksiyonu: Girilen string değeri tarih formatına uygunsa 1, değilse 0 döner.



SYSDATETIME() ve SYSDATETIMEOFFSET() Fonksiyonları: 
SYSDATETIME Timestamp değerini bölgesel saat farklılıklarını göstermeden döner.
SYSDATETIMEOFFSET Tarih ve saati bölgesel saat farklılıklarıyla beraber döner.




SQL'de PRINT Kullanımı

  • Değişkenlerin değerlerini, hataları ve diğer ihtiyaç duyulan durumlarda PRINT komutu kullanılır. DEBUG işlemi için ihtiyaç duyulan bir komuttur.
PRINT Kullanımı : PRINT @<Değişken_Adı>

Örnek Sorgu: soyad değişkeninin içeriği PRINT ile gösterilmiş olacaktır.

DECLARE @soyad VARCHAR(15) SELECT @soyad=’Bayraktar’ PRINT @soyad

SQL'de DECLARE & SET Kullanımı

  • SQL'de değişken tanımlamalarında DECLARE komutu kullanılır.    
  • Tanımladığımız değişken için değer atama işlemlerinde SET komutu kullanılır. 

DECLARE & SET Kullanımı : DECLARE @<Değişken_Adı> <Değişken_tipi>

NOT : Örnek sorgulamalarda Northwind Database'i kullanacağım. bk: Nortwind Database Kurulumu


Örnek Sorgu: Products tablomuzdaki en yüksek birim fiyata sahip ürünü DECLARE komutu ile değişken tanımlayıp SET ile atamasını yapalım ve MAX fonksiyonu ile en büyük değeri bulup listeleyelim.

DECLARE @enyüksek_birimfiyat MONEY
SET @enyüksek_birimfiyat=(select max(UnitPrice) from Products)
SELECT @enyüksek_birimfiyat AS 'Birim fiyatı en yüksek ürün'


Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü