为什么出现错误缺少右括号

时间:2018-10-18 06:30:35

标签: sql database oracle

这是我的SQL查询。我遇到了缺少右括号的错误,但我认为间隔存在一些问题。

select max(valdate) 
  from CORE_TOTEM.TOTEM_MONTHEND_COVERAGE
 where valdate<=sysdate 
   and valdate>= DATE_ADD(sysdate, INTERVAL 5 DAY);

2 个答案:

答案 0 :(得分:0)

我认为您对Oracle DB感到困惑,因为sysdate中没有MySQL伪列,但可以用current_date代替:

select max(valdate) 
  from CORE_TOTEM.TOTEM_MONTHEND_COVERAGE
 where valdate<=current_date 
   and valdate>= DATE_ADD(current_date, INTERVAL 5 DAY);

编辑:由于您上一次标记,您应考虑使用以下标记

,因为Oracle中没有称为DATE_ADD的函数,而MySQL DB具有):

select max(valdate) 
  from CORE_TOTEM.TOTEM_MONTHEND_COVERAGE
 where valdate<= trunc(sysdate) 
   and valdate>= trunc(sysdate)-5;

select max(valdate) 
  from CORE_TOTEM.TOTEM_MONTHEND_COVERAGE
 where valdate between trunc(sysdate) and trunc(sysdate)-5;

答案 1 :(得分:0)

Oracle中没有DATE_ADD函数。对于从日期开始的添加或替换日期,只需使用(±),例如sysdate-5或sysdate + 5。

sudo a2dismod deflate
sudo service apache2 restart
相关问题