Oracle11g 我有一年&;月份,但也需要输入月份编号

Oracle11g 我有一年&;月份,但也需要输入月份编号,oracle11g,Oracle11g,这是我在表中的价值:FY20 1月 我正在寻找“FY20(M01)1月”。如何在Oracle 11g SQL查询中进行这样的转换?首先将字符串转换为日期类型的值。任何包含在双引号中的内容都有点硬编码,只要它们与输入中特定位置的字符相匹配,TO_DATE函数就会忽略它们。这里是位置(索引)1和2 alter session set nls_date_format = 'yyyy-mm-dd'; select to_date('FY20 JAN', '"FY"yy MON

这是我在表中的价值:FY20 1月


我正在寻找“FY20(M01)1月”。如何在Oracle 11g SQL查询中进行这样的转换?

首先将字符串转换为日期类型的值。任何包含在双引号中的内容都有点硬编码,只要它们与输入中特定位置的字符相匹配,TO_DATE函数就会忽略它们。这里是位置(索引)1和2

alter session set nls_date_format = 'yyyy-mm-dd';              
select to_date('FY20 JAN', '"FY"yy MON') d from dual;

D         
----------
2020-01-01
然后,将另一个函数应用于上述日期值的_CHAR,以获得所需的输出

select to_char(
                to_date('FY20 JAN', '"FY"YY MON')
                , '"FY"yy "(M"mm")" MON'
              ) c from dual;

C                      
-----------------------
FY20 (M01) JAN

您好,欢迎来到stackoverflow,您的问题是可以理解的,但有时说出您迄今为止的尝试会有所帮助。