我如何才能在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;