您如何在Oracle SQL中以一种格式的日期作为输入并以另一种格式输出日期?

时间:2018-10-12 15:21:23

标签: sql oracle oracle-sqldeveloper

我需要以特定格式('YYYY-MM-DD')接受日期作为参数,并以另一种格式('Day Month DD,YYYY')输出相同的日期。

到目前为止,我一直在尝试从输入中提取每个元素,以便可以以正确的格式再次将其缝合在一起,尽管我遇到的一个问题是,其中的“天”提取部分基本上只占用了一天的时间。我输入它的月份数并输出7天的mod,这是没有用的。

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 :(得分:1)

为什么不只使用to_char()

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