首页 > 解决方案 > 如何在 Oracle SQL 中将一种格式的日期作为输入并输出另一种格式的日期?

问题描述

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

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

标签: sqloracleoracle-sqldeveloper

解决方案


为什么不直接使用to_char()

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

推荐阅读