Mysql
 sql >> база данни >  >> RDS >> Mysql

Стандарти за добавяне на дата/час?

Съгласно стандарта POSIX.1-2001, следващия месец (както при увеличаване на tm_mon преди да извикате mktime ) се извършва чрез коригиране на стойностите, докато паснат. Така например следващият месец от 31 януари 2001 г. е 3 март 2001 г. Това е така, защото tm_mday от 31 не е валидно с tm_mon от 1 (февруари), така че се нормализира на tm_mon от 2 (март) и tm_mday от 3.

Следващият месец от 31 януари 2000 г. е 2 март 2000 г., тъй като февруари тази година има 29 дни. Следващият месец от януари 1 2038 не съществува, в зависимост.

Страхотното при стандартите е, че има толкова много, от които да избирате . Проверете SQL стандарта, обзалагам се, че ще намерите различно значение на следващия месец. Подозирам, че ISO 8601 може да ви даде още един избор. Въпросът е, че има много различни поведения, значението на „следващия месец“ е много специфично за домейна.

редактиране:мисля Открих как SQL-92 се справя, очевидно искането за следващия месец от 31 януари е грешка.

Връзки:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL тригери и SUM()

  2. Модел на списък на съседство срещу модел на вложен набор за йерархични данни на MySQL?

  3. Съвпадение на Mysql...срещу просто като %term%

  4. Защо GRANT не работи в MySQL?

  5. Изчислете делта (разлика на текущия и предишния ред) в sql