Assuntos referentes ao ano 2000 (Y2K) e Tipos de Data
O MariaDB tem sua própria segurança para o ano 2000 (see "Compatibilidade Com o Ano 2000 (Y2K)"), mas os dados entrados no MariaDB podem não ter. Qualquer entrada contendo valores de ano de 2 digitos é ambíguo, porque o século é desconhecido. Tais valores devem ser interpretados na forma de 4 digitos já que o MariaDB armazena anos internamente utilizando 4 digitos.
Para tipos DATETIME
, DATE
, TIMESTAMP
e YEAR
, MariaDB interpreta datas com valores ambíguos para o ano usando as seguintes regras:
- Valores de ano na faixa
00-69
são convertidos para2000-2069
. - Valores de anos na faixa
70-99
são convertidos para1970-1999
.
Lembre-se de que essas regras fornecem apenas palpites razoáveis sobre o que a sua data significa. Se a heurística usada pelo MariaDB não produz o valor você deve fornecer entre sem ambiguidade contendo valores de ano de 4 digitos.
ORDER BY
irá ordenar tipos YEAR/DATE/DATETIME
de 2 digitos apropriadamente.
Note tembém que algumas funções com MIN()
e MAX()
irão converter TIMESTAMP/DATE
para um número. Isto significa que um timestamp com ano de 2 digitos não irá funcionar corretamente com estas funções. A solução neste caso é converter o TIMESTAMP/DATE
para um formato de ano de 4 digitos ou usar algo como MIN(DATE_ADD(timestamp,INTERVAL 0 DAYS))
.