sql >> Databasteknik >  >> RDS >> Mysql

mysql konverterar från UTC till IST

IST är 5.30 timmar före UTC, så när 13:e startar i IST, dvs. 2015-03-13 : 00:00:00 dess 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)

Och när 13 slutar på IST, dvs. 2015-03-13 : 23:59:59 dess 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å om du får data i IST för den 13:e måste du söka efter data inom detta datumintervall.

Så villkoret skulle vara som nedan -

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

och eftersom du gör omvandling vid tidpunkten för val så kommer den att returnera alla 13:e data.



  1. En översikt över VACUUM-bearbetning i PostgreSQL

  2. MySQL-anslutningsfel som jag aldrig har sett

  3. Ladda upp dokument till Azure Data Lake och exportera data med SSIS

  4. Använder samma kolumn flera gånger i WHERE-satsen