Usuários mais ativos no mês 12/2019
  1. henrique.muller

    844 Pontos

  2. paulo.silva

    842 Pontos

  3. maicon.pereira

    582 Pontos

  4. juliano.pezzini

    472 Pontos

  5. leandro.piscke

    428 Pontos

  6. diuari.molinari

    400 Pontos

  7. dirceu.schlickmann

    347 Pontos

  8. Camila

    288 Pontos

  9. bruno.cardoso

    272 Pontos

  10. Rafael Leonhardt

    253 Pontos

Tags mais populares

Qual o comando no C# para pegar a menor data possível suportada pelo banco de dados?

+2 votos
482 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.
perguntou Out 10 por tharlison.conceicao (52 pontos)

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

respondida Out 11 por juliano.pezzini (472 pontos)
selecionada Out 14 por leandro.piscke

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.

 

Perguntas relacionadas

+7 votos
1 resposta 45 visitas
0 votos
1 resposta 15 visitas
+4 votos
1 resposta 33 visitas
+8 votos
1 resposta 53 visitas
...