sql >> Base de Datos >  >> RDS >> Mysql

¿Estándares para la adición de fecha/hora?

De acuerdo con el estándar POSIX.1-2001, el próximo mes (como en el incremento de tm_mon antes de llamar a mktime ) se realiza ajustando los valores hasta que encajen. Entonces, por ejemplo, el próximo mes desde el 31 de enero de 2001 es el 3 de marzo de 2001. Esto se debe a que el tm_mday de 31 no es válido con tm_mon del 1 (febrero), por lo que se normaliza a tm_mon del 2 (marzo) y tm_mday de 3.

El próximo mes del 31 de enero de 2000 es el 2 de marzo de 2000, porque febrero tiene 29 días ese año. El próximo mes a partir del 1 de enero de 2038 no existe, dependiendo.

Lo mejor de los estándares es que hay tantos para elegir . Verifique el estándar SQL, apuesto a que puede encontrar un significado diferente para el próximo mes. Sospecho que ISO 8601 puede darle otra opción. El punto es que hay muchos comportamientos diferentes, el significado de 'el próximo mes' es muy específico del dominio.

editar:creo Descubrí cómo SQL-92 lo maneja, aparentemente pedir el próximo mes a partir del 31 de enero es un error.

Enlaces: