Как вы берете дату в одном формате для ввода и вывода даты в другом формате в Oracle SQL? - PullRequest
0 голосов
/ 12 октября 2018

Мне нужно взять дату в качестве параметра в определенном формате («ГГГГ-ММ-ДД») и вывести эту же дату в другом формате («Дни месяца, ДД, ГГГГ»).

До сих пор я пытался извлечь каждый элемент из входных данных, чтобы я мог снова соединить его в нужном формате, но проблема, с которой я сталкиваюсь, заключается в том, что часть извлечения Дня этого в основном простоберя номер дня месяца, который я передаю, и выводя мод 7-дневного поиска, который бесполезен.

SELECT
    TO_CHAR( TO_DATE( EXTRACT( DAY FROM (TO_DATE( :input_date, 'YYYY-MM-DD'))), 'DD'), 'Day') as "day_word",
    TO_CHAR( TO_DATE( EXTRACT( MONTH FROM (TO_DATE(:input_date, 'YYYY-MM-DD'))), 'MM'), 'Month') as "month"
FROM
    dual

Мне бы очень понравилось, если бы я мог избежать такого рода ручного манипулирования строками в SQL (потому что это отстой).Пожалуйста, скажите мне, что есть лучший метод!

1 Ответ

0 голосов
/ 12 октября 2018

Почему бы просто не использовать to_char()?

select to_char(to_date(:work_date, 'YYYY-MM-DD'), 'DAY Month DD, YYYY')
...