IST jest o 5,30 godziny przed UTC, więc kiedy 13. zaczyna się w IST, tj. 2015-03-13 : 00:00:00
jego 2015-03-12 18:30:00
w 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)
A kiedy 13 kończy się na IST, tj. 2015-03-13 : 23:59:59
jego 2015-03-13 18:29:59
w 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 |
+-----------------------------------------------------------+
Aby uzyskać dane w IST dla 13-go, musisz wyszukać dane w tym zakresie dat.
Więc warunek byłby taki jak poniżej -
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');
a ponieważ przeprowadzasz konwersję w momencie wyboru, zwróci ona wszystkie 13. dane.