Usuário com melhor resposta
por defeito 1900-01-01

Pergunta
-
Respostas
-
Jonas é justamente este o erro, o insert com aspas simples. Não sei explicar o porque, mais inserindo com aspas simples o SQL converte automaticamente para o default value do tipo date que é 1900-01-01. Tente fazer passando o valor NULL que vai dar certo:
insert into T1 values (1,NULL)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Sugerido como Resposta Roberson Ferreira _Moderator segunda-feira, 1 de outubro de 2012 11:48
- Marcado como Resposta Harley Araujo terça-feira, 2 de outubro de 2012 13:32
-
Quando você passa vazio ('') para inserção de um campo data, o SQL Server atribui a este campo o valor padrão.
E a data padrão de qualquer campo data (seja Date, DateTime ou SmallDateTime) é 01-01-1900.
Se você quiser que o campo fique sem valor, não passa informação alguma para o campo ou passe explicitamente Null.
No Books OnLine, sobre o campo Date:
Valor padrão
1900-01-01
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Roberson Ferreira _Moderator segunda-feira, 1 de outubro de 2012 11:48
- Marcado como Resposta Harley Araujo terça-feira, 2 de outubro de 2012 13:32
Todas as Respostas
-
Jonas não existe nenhuma CONSTRAINT com um DEFAULT VALUE para esta coluna, do tipo DATE ?
Quando se cria uma tabela e não atribui nenhum DEFAULT VALUE para coluna oque deve ser retornado é NULL, caso não conste valor na mesma, faço o teste você mesmo:
--DROP TABLE T1 CREATE TABLE T1 ( ID INT, DATA DATE ) INSERT INTO T1 (ID) VALUES (1) SELECT * FROM T1
Sera que o erro pode estar na aplicação quando é feito um insert nesta tabela ?Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/ -
-
Jonas é justamente este o erro, o insert com aspas simples. Não sei explicar o porque, mais inserindo com aspas simples o SQL converte automaticamente para o default value do tipo date que é 1900-01-01. Tente fazer passando o valor NULL que vai dar certo:
insert into T1 values (1,NULL)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/- Sugerido como Resposta Roberson Ferreira _Moderator segunda-feira, 1 de outubro de 2012 11:48
- Marcado como Resposta Harley Araujo terça-feira, 2 de outubro de 2012 13:32
-
Quando você passa vazio ('') para inserção de um campo data, o SQL Server atribui a este campo o valor padrão.
E a data padrão de qualquer campo data (seja Date, DateTime ou SmallDateTime) é 01-01-1900.
Se você quiser que o campo fique sem valor, não passa informação alguma para o campo ou passe explicitamente Null.
No Books OnLine, sobre o campo Date:
Valor padrão
1900-01-01
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Roberson Ferreira _Moderator segunda-feira, 1 de outubro de 2012 11:48
- Marcado como Resposta Harley Araujo terça-feira, 2 de outubro de 2012 13:32
-
-
É porque tem uma vírgula "sobrando" depois da palavra Null.
Roberson Ferreira - Database Developer
Acesse: www.robersonferreira.com.br
Email: contato@robersonferreira.com.brSe esta sugestão for útil, por favor, classifique-a como útil.
Se ela lhe ajudar a resolver o problema, por favor, marque-a como Resposta.- Sugerido como Resposta Roberson Ferreira _Moderator terça-feira, 16 de outubro de 2012 12:44
-
Com o null funcionou beleza.
Mas testando o seguinte:
insert into T1 values (1,NULL,)
dá este erro:
Incorrect syntax near ','.
Errado:
insert into T1 values (1,NULL,)
Certo:
insert into T1 values (1,NULL)
Vitor Mendes | Seu feedback é muito importante para todos!
Visite o meu site: http://www.vitormendes.com.br/