O MySQL tem sua própria segurança para o ano 2000 (see Secção 1.2.5, “Compatibilidade Com o Ano 2000 (Y2K)”), mas os dados entrados no MySQL 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 MySQL armazena anos internamente utilizando 4 digitos.
Para tipos DATETIME
,
DATE
, TIMESTAMP
e
YEAR
, MySQL interpreta datas com valores
ambíguos para o ano usando as seguintes regras:
Valores de ano na faixa 00-69
são
convertidos para 2000-2069
.
Valores de anos na faixa 70-99
são
convertidos para 1970-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 MySQL 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))
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.