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



我需要以特定格式("YYYY-MM-DD"(将日期作为参数,并以另一种格式("日月DD,YYYY"(输出相同的日期。

到目前为止,我一直在尝试从输入中提取每个元素,以便我可以以正确的格式再次将它们拼接在一起,但我遇到的一个问题是,其中的日提取部分基本上只是获取我喂它的月份中的某天数字并输出一个 mod 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中进行这种手动字符串操作,我真的很喜欢它(因为它很糟糕(。 请告诉我有更好的方法!

为什么不直接使用to_char()

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

最新更新