Ir para conteúdo
Fórum Script Brasil
  • 0

SQL - Datas


Guest Rodrigo Rocha

Pergunta

Guest Rodrigo Rocha

Uma alma caridosa e que tenhas 2 minutos a pensar em algo que para mim demoraria 3 / dias..

Precisava de uma query algo muito complicado para quem não sabe nada de sql, mas para alguém entendido é facilimo.. digo eu... ;)

Tenho dois campos no formato "data hora" do estilo "dd:mm:aaaa hh:mm:ss" em que um dos campos se chama data0 e o segundo se chama data1.

Basicamente o que precisava era que o segundo campo "data1" fosse actualizado com o primeiro campo "data0" mas que no campo "data1" os segundos fossem substituidos pelos segundos da data do sistema...

alguém poderá postar a query que pode fazer isso directamente no "sql menagement studio 2005" ... muito obrigado ás almas caridosas que se interessarem pelo assunto..

Atentamente o Rodrigo Desesperado..

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest obrigado pelo teu interesse..
oi rodrigo, ainda ta meio confusa a tua duvida... se possivel poste um exemplo do que você quer

muito agradecido...

então é assim.. tenho uma tabela com varios campos, em que dois deles registam datas no formato 'dd:mm:aaaa hh:m:ss' em que:

dd = dia / mm = mes / aaaa = ano / hh=horas / mm = minutos / ss = segundos.

O que acontece é que em um dos campos os segundos são registados sempre a '00', e o outro campo data é registado normalmente, com os segundos normais.. o que eu pretendia de alguém com sabedoria imensa no SQL, quando comparada com a minha, era que no segundo campo de data (data1) este campo fosse actualizado com a primeira data (data0) mas que do tal campo data0 lhe fossem retirados os '00' dos segundos e fossem substituidos por um numero aleétório entre '0' e '59' sendo depois essa data colocada (set) no campo data1. Ex.:

data0 = 01:12:2007 14:55:00

Data1 = 31:12:2007 18:10:56

Colocar (set) a data0 na data1 sendo que antes de ser colocada os '00' serão substituidos por um numero aleétorio entre 0 e 59, por exemplo Data1 = Data0( 01:12:2007 14:55: )_sem_os_00 + Numero_aleétorio_entre(00, 59)

Ok???

será que me podiam ajudar??? muito agradecido...

Link para o comentário
Compartilhar em outros sites

  • 0

talvez ajude ae, da uma olhada

set dateformat dmy
DECLARE @dtini AS VARCHAR(20)
DECLARE @dtfin AS VARCHAR(20)

set @dtini = '14/02/2007 15:45:15'
set @dtfin = '14/02/2007 00:00:00'

DECLARE @dataatual AS DATETIME

SET @dataatual = GETDATE()

DECLARE @dataForm AS VARCHAR(30)

--PEGANDO A DATA DE @dtfin
SET @dataForm = CAST(DAY(@dtfin) AS VARCHAR(2))
SET @dataForm = @dataForm + '/' + CAST(MONTH(@dtfin) AS VARCHAR(2))
SET @dataForm = @dataForm + '/' + CAST(YEAR(@dtfin) AS CHAR(4))

--PEGANDO HORA, MINUTOS, SEGUNDOS E MILISEGUNDOS DA DATA ATUAL (SERVIDOR)
SET @dataForm = @dataForm + ' ' + CAST(DATEPART(hh,@dataatual) AS VARCHAR(2))
SET @dataForm = @dataForm + ':' + CAST(DATEPART(n,@dataatual) AS VARCHAR(2))
SET @dataForm = @dataForm + ':' + CAST(DATEPART(s,@dataatual) AS VARCHAR(2))
SET @dataForm = @dataForm + ':' + CAST(DATEPART(ms,@dataatual) AS VARCHAR(4))

PRINT 'Data Atual: ' + CAST((@dataatual) as VARCHAR(20))
PRINT '@dtini: ' + @dtini
PRINT '@dtfin: ' + @dtfin
PRINT '@dataForm: ' + @dataForm

saida

Data Atual: Feb 14 2008 9:22PM

@dtini: 14/02/2007 15:45:15

@dtfin: 14/02/2007 00:00:00

@dataForm: 14/2/2007 21:22:7:990

Link para o comentário
Compartilhar em outros sites

  • 0
Guest rodrigo rocha

muito obrigado pela tua ajuda.. não imaginas o quanto agradecido estou..

obrigadão...

não é bem isto mas vai ajudar muito mesmo... também tenho de por esta carola a funcionar.. não serve só para segurar o pouco cabelo que tenho.. ;) fica bem...

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      652k
×
×
  • Criar Novo...