none
Diferençao de Dias RRS feed

  • Pergunta

  • Prezados boa tarde, a sentença abaixo me retorna as informaçoes que preciso, a diferenca de dias entre a data de entrada e a data de saida, porem nao estou conseguindo fazer a diferença com a data atual..

    vejam

    SQL

    SELECT IDOBJOF,CODCCUSTO,DATAENTRADA,DATASAIDA,

    DATEDIFF(DAY, C.DATAENTRADA, C.DATASAIDA )AS [DIF DE DIAS]

    FROM OFOBJOFICINACCUSTO AS C WHERE C.IDOBJOF = 'AC-02'

     

    resultado

                                Entrada                         Saida                            Dif       

    AC-02 01.0002        2011-02-16 15:00:00.000 NULL NULL
    AC-02 02.0099        2011-02-01 14:57:00.000 2011-02-16 15:00:00      15

    O resultado seria, como eu nao tenho a data de saida, teria que ser a data de hj, porem nao sei como tratar essa situacao..

    agradeço a ajuda de todos

    quarta-feira, 13 de abril de 2011 20:57

Respostas

  • Boa noite Ronnie,

     

    Se eu entendi bem, você quer que quando o campo DataSaida for NULL, que a sua query assuma como a data atual, correto?

    Se sim, basta colocar o comando ISNULL no seu SELECT, como abaixo:

    SELECT 
    	IDOBJOF,CODCCUSTO,DATAENTRADA,DATASAIDA,
    	DATEDIFF(DAY, C.DATAENTRADA, (ISNULL(C.DATASAIDA, GETDATE()))) AS [DIF DE DIAS]
    FROM 
    	OFOBJOFICINACCUSTO AS C 
    WHERE 
    	C.IDOBJOF = 'AC-02'
    

     

    Espero ter ajudado.

     

    Abraços.

     


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
    • Sugerido como Resposta Mariana Del Nero quarta-feira, 13 de abril de 2011 23:13
    • Marcado como Resposta Ronnie Von quinta-feira, 14 de abril de 2011 12:11
    quarta-feira, 13 de abril de 2011 23:13

Todas as Respostas

  • Boa noite Ronnie,

     

    Se eu entendi bem, você quer que quando o campo DataSaida for NULL, que a sua query assuma como a data atual, correto?

    Se sim, basta colocar o comando ISNULL no seu SELECT, como abaixo:

    SELECT 
    	IDOBJOF,CODCCUSTO,DATAENTRADA,DATASAIDA,
    	DATEDIFF(DAY, C.DATAENTRADA, (ISNULL(C.DATASAIDA, GETDATE()))) AS [DIF DE DIAS]
    FROM 
    	OFOBJOFICINACCUSTO AS C 
    WHERE 
    	C.IDOBJOF = 'AC-02'
    

     

    Espero ter ajudado.

     

    Abraços.

     


    Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
    • Sugerido como Resposta Mariana Del Nero quarta-feira, 13 de abril de 2011 23:13
    • Marcado como Resposta Ronnie Von quinta-feira, 14 de abril de 2011 12:11
    quarta-feira, 13 de abril de 2011 23:13
  • Del nero, meu parabens, era isso mesmo que esta precisando muito Obrigado
    quinta-feira, 14 de abril de 2011 12:11