IST trước 5h30 giờ so với UTC, vì vậy khi ngày 13 bắt đầu trong IST, tức là 2015-03-13 : 00:00:00
2015-03-12 18:30:00
của nó theo giờ UTC
mysql> select convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30') ;
+-----------------------------------------------------------+
| convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30') |
+-----------------------------------------------------------+
| 2015-03-12 18:30:00 |
+-----------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)
Và khi ngày 13 kết thúc trong IST, tức là 2015-03-13 : 23:59:59
2015-03-13 18:29:59
của nó theo giờ UTC
mysql> select convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30') ;
+-----------------------------------------------------------+
| convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30') |
+-----------------------------------------------------------+
| 2015-03-13 18:29:59 |
+-----------------------------------------------------------+
Vì vậy, để lấy dữ liệu trong IST cho ngày 13, bạn sẽ cần tìm kiếm dữ liệu trong phạm vi ngày này.
Vì vậy, điều kiện sẽ như dưới đây -
s.created_at
between convert_tz('2015-03-13T00:00:00+00:00','+00:00','+05:30')
and convert_tz('2015-03-13T23:59:59+00:00','+00:00','+05:30');
và vì bạn đang thực hiện chuyển đổi tại thời điểm đã chọn nên nó sẽ trả về tất cả dữ liệu thứ 13.