Arrendondar casas decimais em Datas
Bom dia Prezados(s),
Tenho o seguinte comando abaixo:
datediff (hour, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)) || ':' ||MOD (datediff (minute, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)), 60) AS ATENDIMENTO
Com o seguinte retorno:
ATENDIMENTO
2:0.0000000000000000
Preciso arredondar este valor para que as horas sejam apresentadas como:
02:00 ou 2:00
Tenho o seguinte comando abaixo:
datediff (hour, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)) || ':' ||MOD (datediff (minute, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)), 60) AS ATENDIMENTO
Com o seguinte retorno:
ATENDIMENTO
2:0.0000000000000000
Preciso arredondar este valor para que as horas sejam apresentadas como:
02:00 ou 2:00
João Cristo
Curtidas 0
Melhor post
Fabiano Carvalho
09/09/2015
Qual seu banco de dados? É SQL Server ou Firebird?
Se for firebird não sei como realizar o que precisa, mas se for sql server é necessário realizar algo do tipo
Se for firebird não sei como realizar o que precisa, mas se for sql server é necessário realizar algo do tipo
select convert(varchar(5),cast(cast(getdate() + 1 as float) - cast(getdate() as float) as datetime),108)
GOSTEI 1
Mais Respostas
João Cristo
08/09/2015
Obrigado pelo retorno, infelizmente o banco é o Firebird.
GOSTEI 0
Alex Lekao
08/09/2015
GOSTEI 0
João Cristo
08/09/2015
Consegui com o cast arredondar o valor dos minutos, porém, não resolveu o problema, pois preciso formatar o resultado em HH:MM:SS para inserir em um formulário.
Consulta:
datediff (hour, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)) || ':' ||(CAST(MOD (datediff (minute, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)),60)as DECIMAL ))
Resultado:
2:0
Consulta:
datediff (hour, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)) || ':' ||(CAST(MOD (datediff (minute, ORDSERV.DATPRO, MIN(ORDXFUN.DATHORINI)),60)as DECIMAL ))
Resultado:
2:0
GOSTEI 0
Alex Lekao
08/09/2015
Rapaz, ai ferrou. rsrsr
nao to conseguindo pensar em nada no momento. rsrsr
nao to conseguindo pensar em nada no momento. rsrsr
GOSTEI 0
Fabiano Carvalho
08/09/2015
Veja se isso funciona.
Estou calculando a difereça entre DATPRO - DATHORINI, ajuste conforme sua necessidade. ;)
SELECT EXTRACT(HOUR FROM CAST(CAST(ORDSERV.DATPRO AS FLOAT) - CAST(ORDSERV.DATHORINI AS FLOAT) AS DATETIME)), EXTRACT(MINUTE FROM CAST(CAST(ORDSERV.DATPRO AS FLOAT) - CAST(ORDSERV.DATHORINI AS FLOAT) AS DATETIME)), EXTRACT(SECOND FROM CAST(CAST(ORDSERV.DATPRO AS FLOAT) - CAST(ORDSERV.DATHORINI AS FLOAT) AS DATETIME))
Estou calculando a difereça entre DATPRO - DATHORINI, ajuste conforme sua necessidade. ;)
GOSTEI 1