Bạn có thời gian liên quan đến ngày của bạn không? GIỮA là bao gồm, nhưng khi bạn chuyển đổi 2013-10-18 thành một ngày, nó sẽ trở thành 2013-10-18 00:00:000.00. Mọi thứ được ghi lại sau giây đầu tiên của ngày 18 sẽ không được hiển thị bằng GIỮA, trừ khi bạn bao gồm giá trị thời gian.
Hãy thử:
SELECT
*
FROM LOGS
WHERE CHECK_IN BETWEEN
CONVERT(datetime,'2013-10-17')
AND CONVERT(datetime,'2013-10-18 23:59:59:998')
nếu bạn muốn tìm kiếm cả ngày 18. Tôi đặt mili giây thành 998 vì SQL Server đang kéo vào năm 2013-10-19 00:00:00:0000 trong truy vấn.
Các trường DATETIME của SQL có mili giây. Vì vậy, tôi đã thêm 999 vào trường.