我需要将当前年份添加为SQL语句中的变量,如何使用SQL检索当前年份?
即
BETWEEN
TO_DATE('01/01/**currentYear** 00:00:00', 'DD/MM/YYYY HH24:MI:SS')
AND
TO_DATE('31/12/**currentYear** 23:59:59', 'DD/MM/YYYY HH24:MI:SS')
Fer*_*anB 100
使用to_char:
select to_char(sysdate, 'YYYY') from dual;
Run Code Online (Sandbox Code Playgroud)
在您的示例中,您可以使用以下内容:
BETWEEN trunc(sysdate, 'YEAR')
AND add_months(trunc(sysdate, 'YEAR'), 12)-1/24/60/60;
Run Code Online (Sandbox Code Playgroud)
比较值正是您所要求的:
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
Run Code Online (Sandbox Code Playgroud)
bor*_*jab 60
另一种选择是:
SELECT *
FROM TABLE
WHERE EXTRACT( YEAR FROM date_field) = EXTRACT(YEAR FROM sysdate)
Run Code Online (Sandbox Code Playgroud)
小智 15
使用extract(datetime)功能它简单易行.
它返回年,月,日,分,秒
例:
select extract(year from sysdate) from dual;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
380517 次 |
| 最近记录: |