[+/-]
        Os tipos de data e hora são DATETIME,
        DATE, TIMESTAMP,
        TIME, e YEAR. Cada um
        desses tipos tem uma faixa de valores legais, assim com um valor
        ``zero'' que é usado quando você especifica um valor ilegal.
        Note que o MySQL permite que você armazene certos valores de
        datas inexistentes, como 1999-11-31. A razão
        para isto é que pensamos que é responsabilidade do aplicativo
        tratar das verificações de data, não do servidor SQL. Para
        fazer uma verificação 'rápida' de data, MySQL só checa se o
        mês está na faixa de 0-12 e o dia está na faixa de 0-31. As
        faixas acima são definidas desta forma porque MySQL lhe permite
        armazenar, em um campo DATE ou
        DATETIME, datas onde o dia ou o dia/mês são
        zero. Isto é extremamente útil para aplicativos que precisam
        armazenar uma data de nascimento na qual você não sabe a data
        exata. Nestes casos você simplesmente armazena a data como
        1999-00-00 ou 1999-01-00.
        (Você não pode esperar obter um valor correto para funções
        como DATE_SUB() ou
        DATE_ADD para datas como estas.)
      
Aqui estão algumas considerações para ter em mente quando estiver trabalhando com tipos de data e hora.
MySQL recupera valores para um tipo de data ou hora dado em um formato padrão, mas ele tenta interpretar uma variedade de formatos para os valores fornecidos (por exemplo, quando você especifica um valor a ser atribuido ou comparado a um tipo de data ou hora). No entanto, só os formatos descritos na seção seguinte são suportados. É esperado que você forneça valores permitidos. Resultados imprevisiveis podem ocorrer se você usar outros formatos.
            Embora o MySQL tente interpretar valores em diversos
            formatos, ele sempre espera que a parte da data referente ao
            ano esteja mais a esquerda do valor. Datas devem ser dadas
            na ordem ano-mês-dia (por exemplo, 
            '98-09-04'), ao invés das ordens mais usadas
            mês-dia-ano ou dia-mês-ano (por exemplo:
            '09-04-98',
            '04-09-98').
          
MySQL converte automaticamente um tipo de data ou hora em um número se o valor é usado em um contexto numérico, e vice-versa.
            Quando o MySQL encontra um valor para um tipo de data ou
            hora que está fora da faixa permitida ou é ilegal neste
            tipo (veja o início desta seção), ele converte o valor
            para ``zero''. (A exceção ocorre no campo
            TIME, onde o valor fora da faixa é
            ajustado para o valor limite apropriado na faixa de valores
            deste tipo.) A tabela abaixo mostra o formato do valor
            ``zero'' para cada tipo:
          
| Tipo de Coluna | Valor ``Zero'' | 
| DATETIME | '0000-00-00 00:00:00' | 
| DATE | '0000-00-00' | 
| TIMESTAMP | 00000000000000(tamanho depende do tamanho do
                    display) | 
| TIME | '00:00:00' | 
| YEAR | 0000 | 
            Os valores ``zero'' são especiais, mas você pode armazenar
            ou fazer referência a eles explicitamente usando os valores
            mostrados na tabela. Você também pode fazer into usando
            '0' ou 0, o que é
            mais fácil de escrever.
          
            Valores ``zero'' para data ou hora usados em
            MyODBC são convertidos
            automaticamente para NULL na versão
            2.50.12 MyODBC e acima,
            porque ODBC não pode tratar tais valores.
          
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.

