sql - 如何在 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 中进行这种手动字符串操作(因为它很烂),我会非常喜欢它。请告诉我有更好的方法!
解决方案
为什么不直接使用to_char()
?
select to_char(to_date(:work_date, 'YYYY-MM-DD'), 'DAY Month DD, YYYY')
推荐阅读
- reactjs - 如何在 Reactjs 上运行一个函数并每 5 秒更改一次内容
- c# - XML 前缀 soap:Body 到 soapenv:Body
- c++ - CPP 外部问题,定义外部
- android - 如何将android应用程序与django连接?
- awk - 删除在第二个文件中找到的单词
- mysql - 如何使用联合表限制子查询 [MySQL]
- python - 在python中获取XML的所有相同属性值
- rsa - 如何使用 SafeNet Authentication Client SDK 生成 RSA 密钥对并签名?
- c# - “GenerateDepsFile”任务意外失败:缺少 Microsoft.DotNet.PlatformAbstractions
- python - 是否有用于在时间序列数据集中连续定位多个相同值的 python 函数?