как получить точную запись из 24-го часа в базе данных оракула - PullRequest
0 голосов
/ 27 февраля 2019

Прежде всего, извините за этот лишний вопрос.На мой вопрос доступно множество результатов, но у меня это не работает.Может кто-нибудь помочь по приведенному ниже сценарию?

В справочных целях я включил метку времени столбца (col_timestamp) и 24 часа до отметки времени (crnt_time_before_24hr) и current_timestamp (crnt_time)

SELECT
    TO_CHAR(delete_requested_dt,'YYYY-mm-dd hh24:mi:ss') as col_timestamp,
    TO_CHAR(systimestamp - interval '24' hour,'YYYY-mm-dd hh24:mi:ss') as crnt_time_before_24hr,
    TO_CHAR(systimestamp,'YYYY-mm-dd hh24:mi:ss') as crnt_time

FROM
    test_user_table
WHERE
        status_id IN (
            801,802
        )
    AND
        trunc(delete_requested_dt) <=  sysdate - interval '1' day
ORDER BY delete_requested_dt desc;

Вышеприведенный запрос полностью противоположенмоя цель.Этот запрос проверит значения, которые находятся за пределами 24 часов с текущей даты.Я использовал этот запрос, чтобы проверить, есть ли какие-либо значения, которые должны были быть в течение 24 часов с текущей даты, присутствуют или нет !!

ниже приведены результаты

COL_TIMESTAMP       CRNT_TIME_BEFORE_24 CRNT_TIME          
------------------- ------------------- -------------------
2019-02-26 23:55:57 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:55:46 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:55:38 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:55:25 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:55:14 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:55:01 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:54:51 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:54:40 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:54:29 2019-02-26 13:06:30 2019-02-27 13:06:30
2019-02-26 23:23:40 2019-02-26 13:06:30 2019-02-27 13:06:30

Как видно из выходных данных, значение в 24 часах от текущей даты равно 2019-02-26 13:06: 30.

Значение даты из таблицы на LHS (COL_TIMESTAMP) показывает данныеэто 2019-02-26 23:23:40. !!!!

Как это вообще возможно?только значения, которые меньше 2019-02-26 13:06:30 должны быть правильными !!!Я что-то пропустил?Пожалуйста, помогите мне.

К вашему сведению: столбец delete_requested_dt имеет тип данных метки времени

1 Ответ

0 голосов
/ 27 февраля 2019

Попробуйте это:

SELECT
    TO_CHAR(delete_requested_dt,'YYYY-mm-dd hh24:mi:ss') as col_timestamp,
    TO_CHAR(systimestamp - interval '24' hour,'YYYY-mm-dd hh24:mi:ss') as crnt_time_before_24hr,
    TO_CHAR(systimestamp,'YYYY-mm-dd hh24:mi:ss') as crnt_time

FROM
    test_user_table
WHERE
        status_id IN (
            801,802
        )
    AND
        cast(delete_requested_dt as date) <=  sysdate - interval '1' day
ORDER BY delete_requested_dt desc;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...