Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Padrões para adição de data/hora?


De acordo com o padrão POSIX.1-2001, no próximo mês (como no incremento de tm_mon antes de chamar mktime ) é feito ajustando os valores até que eles se ajustem. Assim, por exemplo, o próximo mês a partir de 31 de janeiro de 2001 é 3 de março de 2001. Isso ocorre porque o tm_mday de 31 não é válido com tm_mon de 1 (fevereiro), então é normalizado para tm_mon de 2 (março) e tm_mday de 3.

O próximo mês a partir de 31 de janeiro de 2000 é 2 de março de 2000, porque fevereiro tem 29 dias naquele ano. O próximo mês a partir de 1º de janeiro de 2038 não existe, dependendo.

O melhor dos padrões é que há muitos para escolher . Verifique o padrão SQL, aposto que você pode encontrar um significado diferente do próximo mês. Eu suspeito que a ISO 8601 pode lhe dar outra escolha. A questão é que existem muitos comportamentos diferentes, o significado de 'próximo mês' é muito específico do domínio.

edit:eu acho Descobri como o SQL-92 lida com isso, aparentemente pedindo para o próximo mês a partir de 31 de janeiro é um erro.

Links: