Как найти разницу по датам со временем в строке в оракуле - PullRequest
0 голосов
/ 09 мая 2019

у меня есть 4 поля.D1 в формате даты 29-JAN-19 T1 в varchar 18: 18: 52.98

D2 в формате даты 29-JAN-19 T2 в varchar 18: 21: 07.57

Я хочу найтиотличие от d2t2 - d1t1 в оракуле.пожалуйста, помогите.

1 Ответ

2 голосов
/ 09 мая 2019

Вы должны преобразовать дату в строку, объединить ее со временем и преобразовать результат в метку времени.
Сделайте это для обоих полей и вычтите результат.

Примерно так:

SELECT d1t1,
       d2t2,
       d1t1 - d2t2 AS date_diff
FROM
(
  SELECT to_timestamp(to_char(d1, 'YYYY-MM-DD') || ' ' || t1, 'YYYY-MM-DD HH24:MI:SS.FF2') AS d1t1,
         to_timestamp(to_char(d2, 'YYYY-MM-DD') || ' ' || t2, 'YYYY-MM-DD HH24:MI:SS.FF2') AS d2t2,
  FROM   my_table
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...