none
Tek Sütundaki başlangıç ve bitiş tarihi bilgisi sorgulama RRS feed

  • Soru

  • Merhabalar, 

    Duyurular isimli tabloda @DuyuruYayintarihi adında bir alanım var ve bu alandaki veriler Örn: 23/06/2016  - 28/06/2016 gibi. 

    amacım,

    günümüz tarihi ="20/06/2016" @DuyuruYayintarihi arasında ise görünmesini istiyorum. Normalde C# tarafında split edip o şekilde kayıt etme işlemi yapacaktım. Bu şekilde işlem yapmak daha yararlı geldi. yardımcı olursanız çok sevinirim..

    forumda başlangıç ve bitiş tarihi ayrı sütunlara yazılmış olarak örnekler var. Bu şekilde bir örneklemede bulunursa fena olmaz diye düşündüm :) 

    saygılarımla. 

    19 Haziran 2016 Pazar 22:19

Yanıtlar

  • Degistirmeye kalkan az cikiyor, tesekkurler :) Yalniz dikkat et, bitis degerinde ben de dikkatsizlik edip, buyuk bir hata yapmisim. Dogrusu:

    SELECT  *
    FROM    tabloAdi
    WHERE   
       GETDATE() >= CONVERT(DATETIME, LEFT(DuyuruYayinTarihi, 10), 103) AND
       getdate() < DATEADD(d, 1, CONVERT(DATETIME, RIGHT(DuyuruYayinTarihi, 10), 103));

    • Yanıt Olarak İşaretleyen Durmuş GÜNEY 20 Haziran 2016 Pazartesi 19:16
    20 Haziran 2016 Pazartesi 11:38

Tüm Yanıtlar

  • sende substring kullan.

    kdrgny@outlook.com

    20 Haziran 2016 Pazartesi 06:05
  • SQL serverda o sekilde bir alan adin olamaz, herhalde DuyuruYayinTarihi demek istedin. Forumdaki ornekler, baslangic ve bitis tarihi ayri sutunlara yazilmis sekildedir, cunku isin dogrusu o. Sen neden boyle bir alana iki degeri koymaya kalktin ki? Hem de, daha kotusu, date datatipini stringe cevirerek :( Her neyse, bu sekilde son derece kotu performansli bir tablo yarattiginin da farkindasindir:

    SELECT  *
    FROM    tabloAdi
    WHERE   GETDATE() BETWEEN CONVERT(DATETIME, LEFT(DuyuruYayinTarihi, 10), 103)
                      AND     DATEADD(d, 1, CONVERT(DATETIME, RIGHT(DuyuruYayinTarihi, 10), 103));
    

     
    20 Haziran 2016 Pazartesi 09:07
  • Cevap için teşekkür ederim. Çetin abimizin tavsiyelerine uyup biraz daha professional çalışsam daha mantıklı olucak sanırım. 

    Hayırlı günler 

    20 Haziran 2016 Pazartesi 11:32
  • Tavsiyeniz için çok teşekkür ediyorum ve doğrulup kodlarımı değiştiyorum hocam. Saygılarımla :)
    20 Haziran 2016 Pazartesi 11:33
  • Degistirmeye kalkan az cikiyor, tesekkurler :) Yalniz dikkat et, bitis degerinde ben de dikkatsizlik edip, buyuk bir hata yapmisim. Dogrusu:

    SELECT  *
    FROM    tabloAdi
    WHERE   
       GETDATE() >= CONVERT(DATETIME, LEFT(DuyuruYayinTarihi, 10), 103) AND
       getdate() < DATEADD(d, 1, CONVERT(DATETIME, RIGHT(DuyuruYayinTarihi, 10), 103));

    • Yanıt Olarak İşaretleyen Durmuş GÜNEY 20 Haziran 2016 Pazartesi 19:16
    20 Haziran 2016 Pazartesi 11:38