Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Linked

Em que formato devemos gravar as datas no MS SQL Server 2008?

Recommended Posts

Olá Pessoal,

 

Trabalho com ASP.NET MVC 3 e MS SQL SERVER 2008 e 2012. Por padrão, o MVC grava suas datas em formato brasileiro, dd/mm/YYYY. Até agora não tive problemas com filtros por data.

Em outras linguagens eu sempre gravei no formato invertido YYYY/MM/DD. Gostaria de saber se eu deixo gravar as minhas datas no banco de dados brasileiro, ou se devo inverter a data?

 

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Dates" são gravadas internamente como número, são recuperadas no formato que você quiser.

Para se gravar via insert por exemplo o campo deve estar no formato data, o que as vezes requer uma conversão.

Existe um formato padrão que pode ser mudado.

 

Duas fontes que achei que parecem confiáveis.

 

http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-are-dates-stored-in-sql-server

http://www.high-flying.co.uk/sql/sql-default-date-format.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

"Dates" são gravadas internamente como número, são recuperadas no formato que você quiser.

Para se gravar via insert por exemplo o campo deve estar no formato data, o que as vezes requer uma conversão.

Existe um formato padrão que pode ser mudado.

 

Duas fontes que achei que parecem confiáveis.

 

http://blogs.lessthandot.com/index.php/DataMgmt/DataDesign/how-are-dates-stored-in-sql-server

http://www.high-flying.co.uk/sql/sql-default-date-format.html

 

Muito obrigado pela resposta. Eu fiquei na dúvida sobre isso, mas pelo jeito não vou ter problemas, já que mesmo que eu veja no banco de dados os registros de datas no formato brasileiro, pela dica que você me deu, posso ficar despreocupado já que as ferramentas que utilizo (ASP.NET MVC 3 e MS SQL SERVER) gravam internamente de maneira correta.

 

Forte abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

As datas são gravadas como são repassadas pela sua aplicação em compatibilidade com o Collation de sua base de dados.

Já fiz reestruturação de banco de dados em que as datas da aplicação estavam no formato DDMMYYY e o banco com Collation em que era gravada MMDDYYYY, e a aplicação fazia este tratamento.

Se vc já tem seu MVC com esta compatiblidade, otimo, mas cuidado com aplicações em que o formato da data e o banco não estejam neste formato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

As datas são gravadas como são repassadas pela sua aplicação em compatibilidade com o Collation de sua base de dados.

Já fiz reestruturação de banco de dados em que as datas da aplicação estavam no formato DDMMYYY e o banco com Collation em que era gravada MMDDYYYY, e a aplicação fazia este tratamento.

Se vc já tem seu MVC com esta compatiblidade, otimo, mas cuidado com aplicações em que o formato da data e o banco não estejam neste formato.

Olá A.Jr., tá tudo na paz contigo?!

 

O meu collation está padrão no base de dados como Latin1_General_CI_AS, isso tá correto certo?

 

No ASP.NET MVC 3 e MVC 4, criam o banco de dados automaticamente para nós de acordo com o nosso model. Por isso eu disse que é padrão (graças a Deus...rsrsr :yes: )

 

Mas a sua dica é muito importante, pois quando eu for fazer deploy do banco de dados no servidor, terei que obsvervar isso.

 

Abraços e mais uma vez obrigado por responder as minhas questões.

 

Fique na Paz!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá A.Jr., tá tudo na paz contigo?!

 

O meu collation está padrão no base de dados como Latin1_General_CI_AS, isso tá correto certo?

 

No ASP.NET MVC 3 e MVC 4, criam o banco de dados automaticamente para nós de acordo com o nosso model. Por isso eu disse que é padrão (graças a Deus...rsrsr :yes: )

 

Mas a sua dica é muito importante, pois quando eu for fazer deploy do banco de dados no servidor, terei que obsvervar isso.

 

Abraços e mais uma vez obrigado por responder as minhas questões.

 

Fique na Paz!!

Tudo ótimo Linked, obrigado.

O padrão de collation varia muito de ambiente para ambiente, mas em tese na instalação do SQL, é este mesmo: Latin1_General_CI_AS para versões até 2005 e SQL_Latin1_General_CP1_CI_AS para versões acima de 2005. Lembrando que isso pode variar de ambiente para ambiente. Precisa de atentar a isso somente se você (ou equipe) for a responsável pela administração do servidor.

 

O bom de se trabalhar com o MVC4 é a sua facilidade para se criar aplicações em diversos ambientes heterogêneos sem comprometer a qualidade do trabalho. Creio que o maior problema que vá enfrentar, seria somente se mudar de versão do SQL em questão, como SQL2008 para SQL2012.

 

Precisando, só voltar a perguntar.

 

[]´s e boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A.Jr, as datas são gravadas em algum formato ou gravadas em formato numérico e convertidas na consulta ?! Em Oracle ao menos são gravadas internamente como número.

Compartilhar este post


Link para o post
Compartilhar em outros sites

A.Jr, as datas são gravadas em algum formato ou gravadas em formato numérico e convertidas na consulta ?! Em Oracle ao menos são gravadas internamente como número.

Opa Motta.

Internamente para o SQL, são gravadas como números, porém, isso internamente.

Qdo visualizamos os dados através do MMS (SQL Server Management Studio) ele mostra pra você como foi armazenado.

Temos no SQL 2008 o tipo de dado DATETIME, onde pode ser armazenado desta forma: 2013-02-13 18:13:20:0000 mas isso vai depender do Collation da sua base e das configurações regionais do Windows (Server ou Não) em que o SQL esta instalado.

Olhe como esta minha configuração local:

semttuloyss.jpg

 

Note que o primeiro resultado é meu GETDATE(), dia e hora atual e as demais colunas, são tratamento (CONVERT) que podemos fazer para exibir dependendo do sistema/servidor.

 

No SQL2012, podemos dividir em DATE e TIME e o tratamento muda um pouco.

 

Data é sempre complicado e um assunto extenso demais no SQL. Tem um tópico até na área de dicas que é muito consultado.

http://forum.imasters.com.br/topic/224454-manipulando-data-no-sql-server-conteudo-alterado/

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.