如何使用SQL在Oracle上获得当前年份? [英] How do I get the current year using SQL on Oracle?

查看:169
本文介绍了如何使用SQL在Oracle上获得当前年份?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在SQL语句中添加当前年份作为变量,如何使用SQL来检索当前年份?



ie

 
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')


解决方案

使用to_char:

 从双重选择to_char(sysdate,'YYYY'); 

在您的示例中,您可以使用以下内容:



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

比较值正是您要求的:



选择trunc(sysdate,'YEAR')begin_year
,add_months(trunc(sysdate,'YEAR'),12)-1/24/60/60 last_second_year
来自双

BEGIN_YEAR LAST_SECOND_YEAR
----------- ----------------
01/01/2009 31/12/2009


I need to add the current year as a variable in an SQL statement, how can I retrieve the current year using SQL?

i.e.

  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')

解决方案

With to_char:

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

In your example you can use something like:

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

The comparision values are exactly what you request:

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

这篇关于如何使用SQL在Oracle上获得当前年份?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆