SORU
14 NİSAN 2009, Salı


MS SQL Server's "" arasında; aralığı sınırları da dahil mi?

Örnek olabilir

SELECT foo
FROM bar
WHERE foo BETWEEN 5 AND 10

5 ve 10 seçin veya dizi tutulur?

CEVAP
14 NİSAN 2009, Salı


Evet, ama tarihler arasında kullanırken dikkatli olun.

BETWEEN '01/01/2009' AND '01/31/2009'

gerçekten gece 12 arası . olarak yorumlanır

BETWEEN '01/01/2009 00:00:00' AND '01/31/2009 00:00:00'

çok özleyeceğim 31 Ocak günü meydana gelen bir şey. Bu durumda, kullanmak zorunda olacak:

myDate >= '01/01/2009 00:00:00' AND myDate < '02/01/2009 00:00:00'  --CORRECT!

ya

BETWEEN '01/01/2009 00:00:00' AND '01/31/2009 23:59:59' --WRONG! (see update!)

GÜNCELLEME: Tamamen mümkün kayıtları günün son saniye içinde oluşturulan, bir datetime 01/01/2009 23:59:59.997! gibi geç bile var!

Bu nedenle, BETWEEN (firstday) AND (lastday 23:59:59) yaklaşım tavsiye edilmez.

myDate >= (firstday) AND myDate < (Lastday 1) yaklaşım kullanın.

İyi article on this issue here.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Sean Murphy

    Sean Murphy

    4 ŞUBAT 2009
  • Sparta Spartanutul

    Sparta Spart

    18 HAZİRAN 2013