在oracle中选择将输出sysdate和sysdate + 1的查询(YYYY-YYYY)

时间:2018-03-20 10:17:41

标签: oracle oracle-apex-5.1

如何在oracle上创建一个将选择当前年份和当前年份+1的选择查询

样本表

Col1
2016-2017
2017-2018
2018-2019
2018-2019
select count(*) from tablename
where Col1 = sysdate||-||sysdate+1;

并且输出必须为2,因为当前年份是2018年,而现在的年份增量为1是2019年,将成为2018-2019

如何为像这样工作的选择

创建正确和正确的查询

这是oracle apex 5.1中的仪表板的源查询

3 个答案:

答案 0 :(得分:2)

首先,你需要从sysdate获得年份:

SELECT EXTRACT(year FROM sysdate)
from dual
;

并使用您自己的连接然后导致您正在寻找:

SELECT
EXTRACT(year FROM sysdate) as currentyear,
(EXTRACT(year FROM sysdate) + 1) as nextyear,
EXTRACT(year FROM sysdate) || ' - ' || (EXTRACT(year FROM sysdate) + 1) as concat
from dual
;

答案 1 :(得分:1)

使用TO_CHARADD_MONTHS

SELECT count(*) FROM tablename
WHERE Col1=TO_CHAR(SYSDATE,'YYYY')||'-'||TO_CHAR(ADD_MONTHS(SYSDATE,12),'YYYY')

答案 2 :(得分:0)

使用TO_CHAR

SELECT COUNT (*)
  FROM tablename
 WHERE Col1 =
          TO_CHAR (SYSDATE, 'YYYY') || '-' || (TO_CHAR (SYSDATE, 'YYYY') + 1);