вычитать дату на основе дня в оракуле - PullRequest
0 голосов
/ 08 июня 2018

На основании запроса ниже, когда деталь не работает,

select case when to_char(sysdate,'Day')  =  'Friday'  then trunc(SYSDATE) - 3 else trunc(SYSDATE) - 2   end as tempdate from dual

любая помощь?

1 Ответ

0 голосов
/ 08 июня 2018

TO_CHAR ставит пробелы.Вы можете добавить TRIM

SELECT
        CASE
            WHEN TRIM(TO_CHAR(SYSDATE,'Day')) = 'Friday' THEN trunc(SYSDATE) - 3
            ELSE trunc(SYSDATE) - 2
        END
    AS tempdate
FROM
    dual

Вы также можете использовать Fm спецификатор формата

to_char (sysdate, 'FmDay'), чтобы избежать TRIM

или параметр NLS_выпуски

TO_CHAR (sysdate, 'FmDay', 'nls_date_language=english')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...