Het is inclusief. Je vergelijkt datetimes met dates. De tweede datum wordt geïnterpreteerd als middernacht wanneer de dag begint .
Een manier om dit op te lossen is:
SELECT *
FROM Cases
WHERE cast(created_at as date) BETWEEN '2013-05-01' AND '2013-05-01'
Een andere manier om het op te lossen is met expliciete binaire vergelijkingen
SELECT *
FROM Cases
WHERE created_at >= '2013-05-01' AND created_at < '2013-05-02'
Aaron Bertrand heeft een lang blogbericht over data (hier), waar hij deze en andere datumkwesties bespreekt.