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

  • CaliforniaMetin

    CaliforniaMe

    3 ŞUBAT 2013
  • StalkerJS

    StalkerJS

    15 HAZİRAN 2010
  • TastyTuts | Creative video tutorials by Gareth David

    TastyTuts |

    6 Temmuz 2011