USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Data no SQL Server
Elieser Topassi
Pontos: 2843 Pontos: 2843
SÃO JOSÉ DO RIO PRETO
SP - BRASIL
Postada em 18/10/2005 07:34 hs            
Olá, amigos...
Já perguntei há alguns dias, o post teve varias respostas, mas nenhuma ajudou mto... então vou perguntar de novo...
 
Tenho a seguinte situação no SQL Server:
O tipo de dados DATETIME armazena a hora no formato "yyyy-mm-dd hh:mm:ss"... isso quer dizer q ele guarda a DATA e a HORA.
 
Certo, mas eu preciso apenas da DATA. Vou dar alguns exemplos:
 
1) Em uma consulta, se eu fizer MeuCampoData = GetDate() vou estar pegando apenas os registros em que a HORA, os MINUTOS e os SEGUNDOS forem iguais... mas eu quero todos os registros em que apenas a DATA seja a mesma, independente do HORARIO...
2) Vejam esse ORDER BY:
ORDER BY MeuCampoData, Nome
quero ordenar os registros pela DATA, ou seja, ordenar por DIA, MES e ANO, mas quero ignorar as HORAS, MINUTOS e SEGUNDOS... (para ordenar dentro do dia, uso a coluna Nome)... Da forma q está acima, vai ordenar cada registro pela DATA e HORA...
 
Minha pergunta é justamente como faço para tratar um campo DATETIME somente pela DATA, e ignorar as HORAS...
 
Vou adiantar as respostas do outro post q nao ajudaram:
1) Gravar "yyyy-mm-dd 00:00:00"... nao me interessa alterar o valor gravado... as vezes, vou precisar da hora...
2) Usar o CAST ou o CONVERT... meu problema não é exibir os resultados, mas sim fazer comparações...
 
Ok, galera.. sei q a questao é dificil... to há alguns dias apanhando disso...
Se alguem puder me ajudar...
 


Elieser Carlos Topassi
Analista de Sistemas - Desenvolvedor VB/ASP/.Net

e-mail/msn:
elieser_topassi@yahoo.com.br
São José do Rio Preto,SP - Brasil
_____________________________________________________
Emoções "O caminho do tolo aos seus prórios olhos lhe parece reto, mas o sábio ouve conselhos" (Pv 12:15)

     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 18/10/2005 07:55 hs            
FAZ O SEGUINTE PESQUISA ENTRE DATAS EXEMPLO SE VOCE QUISER TODAS AS INFORMAÇÕES DO DIA 01/01/2005 FAÇA:
DIM DT1 AS DATE
DIM DT2 AS DATE
DT1 ="01/01/2005"
DT2=DT1+1
 
NA SQL NA CONDIÇÃO WHERE (((CAMPO) Between " & CDATE(DT1) & " And " & CDATE(DT2) & ");
 
 
COMO NAS DUAS DATAS NÃO TEM A HORA ELE ASSUME 00:00:00 OU SEJA IRÁ PEGAR TUDO EMITIDO ENTRE 01/01/2005 00:00:00 E 02/01/2005 00:00:00
 
ESPERO TER AJUDADO

dsmn
     
Martini
Pontos: 2843 Pontos: 2843
PAROBÉ
RS - BRASIL
Postada em 18/10/2005 12:18 hs         
algo assim não resolveria?
 
Select
 Lancamento,
 CodAluno,
 DataOcorrencia,
 CodHistorico,
 ValorDebito,
 ValorCredito,
 AcrescimoDesconto,
 Complemento,
 DoctoOrigem
From
(
Select
 Lancamento,
 CodAluno,
 Convert(Char(10), DataOcorrencia, 121) As DataOcorrencia,
 CodHistorico,
 ValorDebito,
 ValorCredito,
 AcrescimoDesconto,
 Complemento,
 DoctoOrigem
From FichaFinanceira
)a
Where DataOcorrencia Between '2005-01-01' And '2005-12-31'
Order By DataOcorrencia, CodAluno
     
Página(s): 1/1    


Seu Nome:

Seu eMail:

ALTERAR PARA MODO HTML
Mensagem:

[:)] = 
[:P] = 
[:(] = 
[;)] = 

HTML DESLIGADO

     
 VOLTAR

  



CyberWEB Network Ltda.    © Copyright 2000-2026   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página