Как заменить текущую метку времени в запросе SQL - PullRequest
0 голосов
/ 19 марта 2019

Вот мой SQL-запрос, я пытаюсь заменить текущую временную метку на предыдущую, например. CURRENT_TIMESTAMP до 16-03-2019 этой даты и посмотреть вывод.

SELECT 
    p.ID, s.ID, p.SCREENCODE, p.SUBJECTCODE, s.SITECODE, 
    s.NAME, p.SUBJECT_PROTOCOL_NUMBER, 
    TO_CHAR(to_timestamp_tz(p.D_TOFMORETHAN3UBM_S, 'YYYY-MM-DD"T"HH24:MI:SSTZH:TZM'), 'DD-MON-YYYY HH24:MI')
FROM 
    PATIENT p, SITE s
WHERE 
    p.SITE = s.ID AND
    (p.VPATIENTSTATUS_PATIENT_STATUS = 1 AND       
     p.V20149_SCRFAILUREACTIVATIONDAT IS NULL)
    AND p.DELETED IS NULL     
    AND ((SELECT COUNT(f.DPG1DP3)
          FROM F20034 F
          WHERE F.PATIENT = p.ID
            AND f.deleted IS NULL
            AND To_Date(f.DPG1DP3,'YYYY-MM-DD') = To_Date(SUBSTR(CURRENT_TIMESTAMP-1,1,10), 'DD-MM-YY')) < 1)
ORDER BY 
    s.SITECODE, p.SUBJECTCODE, p.ID

Может кто-нибудь помочь мне в этом, пожалуйста? как я очень плохо на датах: (

1 Ответ

0 голосов
/ 21 марта 2019

Если вы пытаетесь использовать эту дату специально, вы можете просто заменить ее литералом даты. Итак:

 To_Date(SUBSTR(CURRENT_TIMESTAMP-1,1,10), 'DD-MM-YY')

становится:

date '2019-03-16'

Кроме того, вы должны прекратить хранить значения даты / времени в виде типов символов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...