Ir para conteúdo

POWERED BY:

Arquivado

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

J4P0N315

[Resolvido] Campo Datetime (Iniciante)

Recommended Posts

Bom dia, pessoal.

 

Estou estudando SQL com o SGBD SQL Server 2005 Express + SS Management Studio.

 

O meu problema é o seguinte: quero criar uma tabela contendo um campo para inserir a data de entrada de determinado aluno. Então eu encontrei a seguinte solução:

 

create table alunos (
id_aluno int identity(1,1) not null,
nome_aluno varchar(100) not null,
data_entrada datetime default '0000-00-00 00:00:00' not null,
data_saida datetime default '0000-00-00 00:00:00'
)

 

O problema é que com esta solução, deve ser inserido o horário, contendo os minutos, segundos e etc. E não quero isso. Quero inserir apenas os dias. Eu tenho um livro dizendo que existe o campo do tipo date, mas este não existe no MS SQL.

 

A melhor maneira que eu encontrei é, na hora do select, exibir os dias, meses e anos, mas cada um em um campo. Não é bem isso que eu queria. A solução seria é a seguinte:

 

select nome_aluno as "Nome do aluno" ,
day(data_entrada) as "Dia de entrada",
month(data_entrada) as "Mês de entrada",
year(data_entrada) as "Ano de entrada"
from alunos

 

Alguém conhece alguma solução para este meu problema? Até agora não encontrei nada. Se não for possível na inserção, pode ser apenas na exibição. Se der nos dois, ótimo!

 

Desde já, agradeço a atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe o tipo de dados chamado date.

Veja:

http://msdn.microsoft.com/en-us/library/bb630352.aspx

 

Voce tentou usá-lo? Como sabe que ele não existe?

 

Olá, amigo...

 

Eu testei no SQL 2005 e ele realmente não existe. Me informaram que este tipo de campo só passou a existir no SQL 2008. Antes, somente Datetime. Eu consegui uma resposta em um outro fórum. Se der certo, venho aqui, posto e coloco como [Resolvido].

 

Depois eu leio o link que você me mandou...

 

Fico imensamente agradecido pela sua resposta.

 

Tenha uma boa tarde! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

No link que você me passou está escrito assim:

SQL Server 2008 Books Online (June 2009).

 

Realmente, somente no 2008, mesmo! Tanto é que no 2005, quando você digita somente "date", a palavra não fica azul. Logo, você presumi que este tipo de campo é inexistente.

 

No final, a minha query ficou assim.

 

select nome_pessoa as Nome, idade_pessoa as Idade, cidade as Cidade, uf as UF,
convert(varchar(2),day(data_entrada))+'/'+
convert(varchar(2),month(data_entrada))+'/'+
convert(varchar(4),year(data_entrada)) as "Entrou em",
convert(varchar(2),day(data_saida))+'/'+
convert(varchar(2),month(data_saida))+'/'+
convert(varchar(4),year(data_saida)) as "Saiu em"
from cadastro

Fica aí o meu tópico. Espero que ajude alguém no futuro, como me ajudou! :)

 

Obrigado! :D

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.