Es ist inklusive. Sie vergleichen Datetimes mit Dates. Das zweite Datum wird als Mitternacht interpretiert, wenn der Tag beginnt .
Eine Möglichkeit, dies zu beheben, ist:
SELECT *
FROM Cases
WHERE cast(created_at as date) BETWEEN '2013-05-01' AND '2013-05-01'
Eine andere Möglichkeit, dies zu beheben, sind explizite binäre Vergleiche
SELECT *
FROM Cases
WHERE created_at >= '2013-05-01' AND created_at < '2013-05-02'
Aaron Bertrand hat einen langen Blog-Eintrag zu Verabredungen (hier), in dem er dieses und andere Verabredungsprobleme diskutiert.