2

我有一个返回当前和未来 3 个月的 sql server 查询

SELECT CAST(DATENAME(month, getdate() )               as VARCHAR(3))  
     , CAST(DATENAME(month, dateadd(mm,1,getdate()) ) as VARCHAR(3))
     , CAST(DATENAME(month, dateadd(mm,2,getdate()) ) as VARCHAR(3))
     , CAST(DATENAME(month, dateadd(mm,3,getdate()) ) as VARCHAR(3)) 

我如何将其修改为等效的 oracle 查询

4

3 回答 3

3

该函数TO_CHAR()可用于将日期转换为字符。要以 3 字符格式获取当前月份,您可以在使用 TO_CHAR() 时使用格式模型。 MON返回的数据遵循您对格式模型的大小写。

例如:

SQL> select to_char(sysdate, 'mon')
  2       , to_char(sysdate, 'MON')
  3    from dual;

TO_CHAR(SYSD TO_CHAR(SYSD
------------ ------------
mar          MAR

该函数ADD_MONTHHS()可用于将月份添加到日期:

SQL> select to_char(add_months(sysdate, 1), 'MON')
  2    from dual;

TO_CHAR(ADD_
------------
APR

您将能够扩展它以转换您的整个查询。

于 2013-03-12T12:04:18.810 回答
0

请试试:

select TO_CHAR(SYSDATE, 'Month'), 
  TO_CHAR(ADD_MONTHS(SYSDATE, 1), 'Month'), 
  TO_CHAR(ADD_MONTHS(SYSDATE, 2), 'Month'), 
  TO_CHAR(ADD_MONTHS(SYSDATE, 3), 'Month')  
FROM DUAL;
于 2013-03-12T12:06:41.140 回答
0

试试这个 :

select to_char(CURRENT_DATE,'Month'),
to_char(ADD_MONTHS( CURRENT_DATE, 1 ), 'Month'),
to_char(ADD_MONTHS( CURRENT_DATE, 2 ), 'Month'),
to_char(ADD_MONTHS( CURRENT_DATE, 3 ), 'Month')



from dual
于 2013-03-12T12:07:50.523 回答