Mysql
 sql >> Baza danych >  >> RDS >> Mysql

mysql konwertuje z UTC na IST

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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY dla ciągłych wierszy w SQL

  2. Prześlij wiele obrazów i zapisz ich ścieżkę w bazie danych

  3. Mysql, gdzie 1=0 zamieszania

  4. InnoDB:Wstawianie zbiorcze za pomocą transakcji CZY łączyć wiele zapytań?

  5. Użyj parametru procedury składowanej dla parametru jednostki DATE_SUB