IST 5.30 jam lebih awal dari UTC, jadi ketika tanggal 13 dimulai di IST yaitu 2015-03-13 : 00:00:00
2015-03-12 18:30:00
dalam 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)
Dan ketika 13 diakhiri dengan IST yaitu 2015-03-13 : 23:59:59
2015-03-13 18:29:59
dalam 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 |
+-----------------------------------------------------------+
Jadi, Anda mendapatkan data di IST untuk tanggal 13, Anda perlu mencari data dalam rentang tanggal ini.
Jadi kondisinya akan seperti di bawah ini -
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');
dan karena Anda melakukan konversi pada saat pemilihan, maka itu akan mengembalikan semua data ke-13.