none
Comparar datas RRS feed

  • Pergunta

  • Boas pessoal

    Estou com um problema Lixado.... -_-

    Na altura de fazer um update preciso de comparar dois campos na base de dados SQL. Esses campos estão formatos como time(0) - hh:mm:ss.

    Se um for maior que outro ele escreve que Sim na coluna A senão escreve que Não.

    Como fazo isso?

    Isto tudo via vb.

     

    Utilizo este comando para trabalhar com a bd: command.Parameters.Add("@form", SqlDbType.NVarChar).Value = "2"

    é um exemplo..

    Obirgado

    segunda-feira, 16 de janeiro de 2012 19:45

Respostas

  • Flashed,

     

    Via VB ou via TSQL?

    Via TSQL ficaria:

    SELECT Nome,

    CASE

    WHEN IdadeNova > IdadeAntiga THEN 'SIM'

    ELSE 'Não END AS Teste

    FROM Tabela


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Jonas São Paulo sexta-feira, 27 de janeiro de 2012 09:51
    terça-feira, 17 de janeiro de 2012 02:22
    Moderador
  • Flashed,

    Outra possibilidade via T-SQL seria utilizar a função Datediff em conjunto com o comando IF.

    If (Select Datediff(d, IdadeNova, IdadeAntiga) from Tabela )>=1 Then

     Print 'Sim'

    Else

     Print 'Não'


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 18 de janeiro de 2012 23:02
    Moderador

Todas as Respostas

  • Flashed,

     

    Via VB ou via TSQL?

    Via TSQL ficaria:

    SELECT Nome,

    CASE

    WHEN IdadeNova > IdadeAntiga THEN 'SIM'

    ELSE 'Não END AS Teste

    FROM Tabela


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    • Marcado como Resposta Jonas São Paulo sexta-feira, 27 de janeiro de 2012 09:51
    terça-feira, 17 de janeiro de 2012 02:22
    Moderador
  • Flashed,

    Outra possibilidade via T-SQL seria utilizar a função Datediff em conjunto com o comando IF.

    If (Select Datediff(d, IdadeNova, IdadeAntiga) from Tabela )>=1 Then

     Print 'Sim'

    Else

     Print 'Não'


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]
    quarta-feira, 18 de janeiro de 2012 23:02
    Moderador
  • Flashed,

     

    Alguma novidade neste assunto?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Blog Empresa: www.tripletech.com.br/blog
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com
    terça-feira, 24 de janeiro de 2012 10:22
    Moderador
  • Boas

    Desculpem a ausência.

    Acabei por me desenrascar convertendo as datas em numero ;) e assim fazo uma comparação como se fossem numeros.

    Numa proxima vou utilizar os vossos exemplos, pois estive a ler sobre instruções TSQL e são muito mais vantajosa ;)

     

    Obrigado


    Visual Basic 2008 Express Edition SQL Server Management Studio flashedr8@gmail.com
    sexta-feira, 27 de janeiro de 2012 09:51