Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysql konvertiert von UTC nach IST

IST ist 5:30 Stunden vor UTC, also wenn der 13. in IST beginnt, d. h. 2015-03-13 : 00:00:00 es ist 2015-03-12 18:30:00 in 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)

Und wenn 13 in IST endet, d. h. 2015-03-13 : 23:59:59 es ist 2015-03-13 18:29:59 in 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                                       |
+-----------------------------------------------------------+

Wenn Sie also die Daten in IST für den 13. erhalten, müssen Sie nach Daten innerhalb dieses Datumsbereichs suchen.

Die Bedingung wäre also wie folgt -

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');

und da Sie zum Zeitpunkt der Auswahl eine Konvertierung durchführen, werden alle 13. Daten zurückgegeben.