查询oracle

时间:2019-06-03 16:24:32

标签: sql oracle

我正在尝试查询以下情况: 每当“批准日期”为“ NULL”时,SLA计算将保持不变。 但是,只要“ NOT NULL”表示保留值,那么在这种情况下, SLA计算将如下

init.json

开发了以下查询:If (Actual.finish < (ADJUSTEDTARGETRESOLUTIONTIME + approval date) ) then “MET” else “NOTMET” 但它抛出错误:faultString =“ ORA-00905:缺少关键字

请帮助解决此查询

CASE WHEN TICKET.STATUS IN ('APPROVED_DATE' + 'ADJUSTEDTARGETRESOLUTIONTIME') >= ACTUALFINISH THEN 'MET' ELSE 'NOTMET'

1 个答案:

答案 0 :(得分:2)

  • 删除了列名周围的撇号。这使它们成为字符串,而不是其值逐行导出的列名。
  • in语句和ticket.status的意义是什么?如果不在,那我就消除了。
  • 在案例陈述中添加了关键字“ END”。 (否则语法无效)

CASE WHEN APPROVED_DATE + ADJUSTEDTARGETRESOLUTIONTIME >= ACTUALFINISH 
     THEN 'MET' 
     ELSE 'NOTMET' 
 END

问题:所涉及的3个字段的数据类型是什么?所有日期/时间?