我有一个返回当前和未来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查询
答案 0 :(得分:2)
函数TO_CHAR()
可用于将日期转换为字符。要使用3字符格式获取当前月份,您可以在使用TO_CHAR()时使用format model 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
您可以对此进行扩展以转换整个查询。
答案 1 :(得分: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;
答案 2 :(得分: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