IST er 5.30 timer foran UTC, så når den 13. starter i IST, dvs. 2015-03-13 : 00:00:00
dens 2015-03-12 18:30:00
i 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)
Og når 13 ender på IST, dvs. 2015-03-13 : 23:59:59
dens 2015-03-13 18:29:59
i 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 |
+-----------------------------------------------------------+
Så for at få dataene i IST for den 13. skal du søge data inden for dette datointerval.
Så betingelsen ville være som nedenfor -
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');
og da du laver konvertering på tidspunktet for valg, vil det returnere alle 13. data.