none
SQL Server Tarih işlemleri Koşula göre RRS feed

  • Soru

  • Merhaba Bir sql tablom var buradan kıdemi hesaplıyorum ancak bir kolon daha yanına açıp izin süresini eklemek istiyorum 

    Ancak izin parametleri şu şekilde 
    Eğer Kıdem yılı 0 ise izin hakkı = 0,
    Kıdem yılı 1 ve 5 yıl arası ise = 14 
    5-15 yıl arası ise =22
    22 yıl ve üstü ,için = 26 olacak bir sql fonksiyonunu aşağıdaki sql'e nasıl ilave edebilrim. 

    Saygılar. Faruk 

    SELECT
    PERKOD,
    ADI,
    SOYADI,
    DOGUMTARIHI,
    ISEGIRISTARIH,
    CAST(DATEDIFF(DD,DOGUMTARIHI,GETDATE ())/365.25 AS INT) AS [YAS],
    CAST(DATEDIFF(DD,ISEGIRISTARIH,GETDATE ())/365.25 AS INT) AS [KIDEM],

    FROM
    PERSONEL

    çıktı ... 



    5 Aralık 2015 Cumartesi 21:11

Yanıtlar

  • SELECT
    PERKOD,
    ADI,
    SOYADI,
    DOGUMTARIHI,
    ISEGIRISTARIH,YAS,KIDEM 
    case when KIDEM=0 then 0
    when KIDEM>1 and KIDEM<=5 then 14
    when KIDEM>5 and KIDEM<=15 then 22
    when KIDEM>15 then 26
    end as [IZIN]
    
    FROM
    (SELECT 
    PERKOD,
    ADI,
    SOYADI,
    DOGUMTARIHI,
    ISEGIRISTARIH,
    CAST(DATEDIFF(DD,DOGUMTARIHI,GETDATE ())/365.25 AS INT) AS [YAS],
    CAST(DATEDIFF(DD,ISEGIRISTARIH,GETDATE ())/365.25 AS INT) AS [KIDEM] FROM PERSONEL) as a

    bu şekilde denermisiniz. Hat verirse hata ile birlikte geri dönüş yaparsanız yardımcı olurum.

    kdrgny@outlook.com

    • Yanıt Olarak İşaretleyen Faruk Yıldız 5 Aralık 2015 Cumartesi 22:25
    5 Aralık 2015 Cumartesi 21:45

Tüm Yanıtlar

  • SELECT
    PERKOD,
    ADI,
    SOYADI,
    DOGUMTARIHI,
    ISEGIRISTARIH,YAS,KIDEM 
    case when KIDEM=0 then 0
    when KIDEM>1 and KIDEM<=5 then 14
    when KIDEM>5 and KIDEM<=15 then 22
    when KIDEM>15 then 26
    end as [IZIN]
    
    FROM
    (SELECT 
    PERKOD,
    ADI,
    SOYADI,
    DOGUMTARIHI,
    ISEGIRISTARIH,
    CAST(DATEDIFF(DD,DOGUMTARIHI,GETDATE ())/365.25 AS INT) AS [YAS],
    CAST(DATEDIFF(DD,ISEGIRISTARIH,GETDATE ())/365.25 AS INT) AS [KIDEM] FROM PERSONEL) as a

    bu şekilde denermisiniz. Hat verirse hata ile birlikte geri dönüş yaparsanız yardımcı olurum.

    kdrgny@outlook.com

    • Yanıt Olarak İşaretleyen Faruk Yıldız 5 Aralık 2015 Cumartesi 22:25
    5 Aralık 2015 Cumartesi 21:45
  • Öncelikle teşekkür ederim. CASE işimi çözdü. Şu anda izin günleri görebiliyorum. Saygılar, Faruk
    5 Aralık 2015 Cumartesi 22:25