我如何才能在Oracle上使用SQL?

我需要将当前年份作为SQL语句中的variables添加,如何使用SQL检索当前年份?

  之间 
     TO_DATE('01 / 01 / ** currentYear ** 00:00:00','DD / MM / YYYY HH24:MI:SS')
    和
     TO_DATE('31 / 12 / ** currentYear ** 23:59:59','DD / MM / YYYY HH24:MI:SS')

用to_char:

select to_char(sysdate, 'YYYY') from dual; 

在你的例子中,你可以使用类似于:

 BETWEEN trunc(sysdate, 'YEAR') AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60; 

比较值正是你所要求的:

 select trunc(sysdate, 'YEAR') begin_year , add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60 last_second_year from dual; BEGIN_YEAR LAST_SECOND_YEAR ----------- ---------------- 01/01/2009 31/12/2009 

另一个select是:

 SELECT * FROM TABLE WHERE EXTRACT( YEAR FROM date_field) = EXTRACT(YEAR FROM sysdate) 

使用extract(datetime)函数很简单,很简单。

它返回年,月,日,分,秒

例:

 select extract(year from sysdate) from dual; 

还有一种select是:

 SELECT * FROM mytable WHERE TRUNC(mydate, 'YEAR') = TRUNC(SYSDATE, 'YEAR'); 

在oracle-sql中显示当前系统date

  select sysdate from dual;