To jest włącznie. Porównujesz daty i godziny z datami. Druga data jest interpretowana jako północ kiedy zaczyna się dzień .
Jednym ze sposobów naprawienia tego jest:
SELECT *
FROM Cases
WHERE cast(created_at as date) BETWEEN '2013-05-01' AND '2013-05-01'
Innym sposobem, aby to naprawić, są jawne porównania binarne
SELECT *
FROM Cases
WHERE created_at >= '2013-05-01' AND created_at < '2013-05-02'
Aaron Bertrand ma długi wpis na blogu o datach (tutaj), w którym omawia ten i inne kwestie dotyczące dat.