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

Używanie czasu IST w zapytaniu mysql

Ustawienia strefy czasowej dla bieżącej sesji MySQL można pobrać za pomocą instrukcji SQL:

mysql> SELECT @@session.time_zone;

Jeśli administrator nie ustawił strefy czasowej w MySQL, domyślnie przyjmie ona wartość SYSTEM , która reprezentuje strefę czasową w systemie operacyjnym.

http://dev.mysql.com/doc /refman/5.5/en/time-zone-support.html

KONTYNUACJA:

W predykacie, jak w przykładowej instrukcji SQL:

select * from mytable where dt > current_ist_datetime

(biorąc pod uwagę dt i current_ist_datetime typu danych DATETIME )porównanie wartości będzie niezależne od jakiejkolwiek konwersji strefy czasowej, ponieważ nie ma informacji o strefie czasowej powiązanej z DATETIME wartość.

To znaczy wartość zwrócona z kolumny typu danych DATETIME nie ma wpływu ustawienie time_zone serwera MySQL (SELECT @@global.time_zone ) lub sesji MySQL (SELECT @@session.time_zone ).

Wartość zwracana przez NOW() funkcja będzie jednak zależna od ustawienia strefy czasowej sesji.

Aby uzyskać to zwrócone w IST, upewnij się, że strefa czasowa sesji jest określona poprawnie, np.

SET VARIABLES time_zone = "+05:30"

(Uwaga:jeśli sesja jest pobierana i zwracana z puli połączeń, inni użytkownicy puli mogą nie oczekiwać innej strefy czasowej;...)

(UWAGA:powyższe całkowicie ignoruje zamieszanie wprowadzone przez sterownik JDBC, spowodowane „niezgodnością impedancji” (różnice) między implementacją MySQL typu DATETIME a implementacją obiektu Date w Javie. Jeśli przekazujesz wartości DATETIME przez połączenie JDBC, to cała „kolejna kula zamieszania.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę wysyłać zapytania między dwoma przedziałami czasowymi za pomocą MySQL?

  2. jak uzyskać wartości dla tej samej nazwy kolumny z dwóch różnych tabel w SQL?

  3. Dokładne znaczenie klucza obcego MySQL Klauzula „on delete rest”

  4. Parametry wiązania dla klauzuli WHERE IN z PDO

  5. Jak dostosować ustawienia wyświetlania wiersza poleceń mysql?