Мне нужно рассчитать разницу между двумя полями даты и времени, ТО показывает процент, основанный на первом расчете - PullRequest
0 голосов
/ 15 апреля 2019

Мне нужно рассчитать разницу между временем, когда пациент приходит на прием к врачу, и временем, когда он выписывается, а также с указанием продолжительности назначенного по умолчанию времени, ПОТОМ показывает процент времени по умолчанию, которое было фактически использовано.

Я рассчитал первую часть:

,TRUNC(24*MOD(enc.CHECKOUT_TIME - enc.CHECKIN_TIME,1))|| ':' ||TRUNC(MOD(MOD(enc.CHECKOUT_TIME - enc.CHECKIN_TIME,1)*24,1)*60) AS "VISIT LENGTH" 

Продолжительность встречи по умолчанию находится в этом поле: enc.APPT_LENGTH. Это та часть, которую я не знаю, как это сделать - вычислить процент фактически использованного APPT_LENGTH (VISIT_LENGTH), рассчитанный выше.

Заранее благодарим за любую помощь.

1 Ответ

1 голос
/ 15 апреля 2019

Ваш вопрос не очень понятен, но, чтобы узнать фактическую продолжительность встречи в часах (десятичная система), вы можете использовать:

(enc.CHECKOUT_TIME - enc.CHECKIN_TIME) * 24 AS ACTUAL_DURATION

, поскольку использование - с двумя датами в Oracle приводит к разнице в днях между двумя датами.

Теперь, если APPT_LENGTH также содержит ожидаемую продолжительность встречи в часах, вы можете использовать

(((enc.CHECKOUT_TIME - enc.CHECKIN_TIME) * 24) / enc.APPT_LENGTH) * 100 AS DURATION_RATIO

для расчета соотношения (в%) между фактической продолжительностью и ожидаемой продолжительностью

...