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

Normy dotyczące dodawania daty/godziny?

Zgodnie ze standardem POSIX.1-2001, w następnym miesiącu (jak w inkrementacji tm_mon przed wywołaniem mktime ) odbywa się poprzez dostosowanie wartości, aż do ich dopasowania. Na przykład następny miesiąc od 31 stycznia 2001 to 3 marca 2001. Dzieje się tak, ponieważ tm_mday z 31 jest nieprawidłowa z tm_mon z 1 (luty), więc jest znormalizowany do tm_mon z 2 (marzec) i tm_mday z 3.

Następny miesiąc od 31 stycznia 2000 to 2 marca 2000, ponieważ luty ma 29 dni tego roku. W zależności od tego, następny miesiąc od 1 stycznia 2038 r. nie istnieje.

Wspaniałą rzeczą w standardach jest to, że jest tak wiele do wyboru . Sprawdź standard SQL, założę się, że możesz znaleźć inne znaczenie w przyszłym miesiącu. Podejrzewam, że ISO 8601 może dać ci jeszcze inny wybór. Chodzi o to, że istnieje wiele różnych zachowań, znaczenie „następnego miesiąca” jest bardzo specyficzne dla domeny.

edytuj:myślę Odkryłem, jak radzi sobie z tym SQL-92, najwyraźniej pytanie o następny miesiąc od 31 stycznia jest błędem.

Linki:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można połączyć się z MySQL z Javy:NullPointerException w logice połączenia sterownika MySQL

  2. Usuń dane z bazy danych MySQL

  3. MySQL — Entity :wartość kolumny „IsPrimaryKey” w tabeli „TableDetails” to DBNull

  4. Za dużo tabel; MySQL może używać tylko 61 tabel w połączeniu

  5. ModuleNotFoundError:Brak modułu o nazwie „mysql”