Converter

4 respostas
F

Tenho uma query onde preciso saber o tempo em que cada paciente ficou em cada setor, porém não consigo converter o resultado fracionado em ‘hh24:mi:ss’.

Sou novo ainda na questão de PL/SQL, segue código, caso alguém possa me ajudar, agradeço.

SELECT ap.nr_atendimento,
ap.DT_ALTA,
ap.DT_ENTRADA,

(SELECT  SUM((apu.dt_saida_unidade - apu.dt_entrada_unidade) * 1440)
        FROM atend_paciente_unidade apu
            WHERE apu.cd_setor_atendimento = 109
                AND apu.nr_atendimento = ap.nr_atendimento) unid_inter_admissao,

        (SELECT  SUM((apu.dt_saida_unidade - apu.dt_entrada_unidade) * 1440)
        FROM atend_paciente_unidade apu
            WHERE apu.cd_setor_atendimento = 2
                AND apu.nr_atendimento = ap.nr_atendimento) centro_cirurgico

FROM atendimento_paciente_v ap,
conta_paciente c,
cirurgia r

WHERE ap.nr_atendimento = c.nr_atendimento

and ap.NR_ATENDIMENTO = r.nr_atendimento(+)

AND ap.cd_estabelecimento = 1 --:cd_estabelecimento

AND ap.dt_entrada between 01/10/2018 AND 15/10/2018 --:dt_inicial and :dt_final + 86399 / 86400

AND exists (select 1

from conta_paciente

where nr_atendimento = ap.NR_ATENDIMENTO)

AND ap.NR_ATENDIMENTO = 1827680

GROUP BY ap.nr_atendimento,ap.DT_ALTA,ap.DT_ENTRADA

ORDER BY ap.DT_ENTRADA

4 Respostas

V

O resultado obtido está vindo no formato DATE e você pretende converter para DATETIME acrescentando o hh:mm:ss ?

F

Victor, boa tarde.

O Campo é do tipo Date, porém o resultado não preciso que retorne a data e sim somente o tempo em hh:mm:ss.

Desde já agradeço.

F

O resultado nos campos estão saindo assim: 821,916666666667 ao invés de 01:45:51.

V

Boa tarde !

Creio eu que uma alternativa seria converter para datetime e fazer um substring pegando somente a parte que deseja

Criado 17 de outubro de 2018
Ultima resposta 17 de out. de 2018
Respostas 4
Participantes 2