+3 votos
620 visitas
Ao realizar o processamento de um XML de integração, o cliente  está informando a data 01/01/0001 mas esta dando erro.

Gostaria de saber qual o comando para pegar a menor data que o banco de dados suporta.
por (62 pontos) | 620 visitas

1 Resposta

+2 votos
Melhor resposta

A menor data suportada pelo ADO.Net é 01/01/1753, para obter esta data pode usar o método MinValue da classe SqlDateTime.

Vale mencionar também que se tentar gravar algum valor menor que a data acima usando o Ado.Net vai causar o erro já conhecido erro de Valor de caractere inválido para especificação de coerção

por (569 pontos)
selecionada por anônimo

Apenas para complementar que, os bancos de dados tem uma forma explícita para definir a "ausência de valor", que é o NULL.

Ou seja, uma coluna do tipo INTEGER no banco, pode estar "sem valor" (NULL) ou pode estar "com o valor zero" (0, zero). São situações diferentes.

Da mesma forma, um campo DATETIME no banco, pode estar "sem valor" (NULL) e também pode estar com a data 01/01/1753, que será um valor válido. Assim como o valor 01/01/0001 também é válido, porém não é gravável através do Ado.Net.

 

Melhores Apr 2026
  1. CeceliaWysel

    5 Pontos

  2. VernonSchaw

    5 Pontos

  3. MargieOsterh

    5 Pontos

200 pontos
Melhores 2026 Apr 06 - 12
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. willian.metalsystem

    69 Pontos

  5. henrique.muller

    62 Pontos

  6. luciano.fronza

    61 Pontos

  7. luciano.fronza

    61 Pontos

  8. luciano.fronza

    61 Pontos

  9. diuari.molinari

    52 Pontos

  10. diuari.molinari

    51 Pontos

518 perguntas
567 respostas
389 comentários
772 usuários