Mysql
 sql >> Database >  >> RDS >> Mysql

mysql conversione da UTC a IST

IST è 5.30 ore avanti rispetto all'UTC, quindi quando il 13 inizia in IST cioè 2015-03-13 : 00:00:00 sono 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)

E quando 13 finisce in IST cioè 2015-03-13 : 23:59:59 il suo 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                                       |
+-----------------------------------------------------------+

Quindi, per ottenere i dati in IST per il 13, dovrai cercare i dati all'interno di questo intervallo di date.

Quindi la condizione sarebbe la seguente -

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

e poiché stai eseguendo la conversione al momento della selezione, restituirà tutti i 13 dati.