【发布时间】:2018-06-05 00:14:07
【问题描述】:
我正在尝试针对 Progress OpenEdge 编写一个 IF/THEN/ELSE,并且在我尝试过的每次迭代中都会出现语法错误。我正在尝试选择一组列并进行一些计算。一个计算正在划分两列,所以我试图检查除数列以防它为零。
根据我使用的 IF/THEN 的变化,我收到以下错误,声明中不喜欢的内容略有不同。
ERROR [HY000] [DataDirect][ODBC Progress OpenEdge Wire Protocol driver][OPENEDGE]
Syntax error in SQL statement at or about "= 0 THEN ColumnA ELSE (ColumnA " (10713)
这是我当前的迭代(列重命名以保护无辜者。;)
, IF ColumnA = 0 THEN ColumnA
ELSE (ColumnA - ColumnB) / ColumnB
END as ProfitMargin
我从别名列(POS.ColumnA 和 POS.ColumnB)开始,并在某处读到完全限定的列可能会导致问题,因此我删除了别名。
我试过IF POS.ColumnA = 0 THEN 0。我还尝试输入ELSE DO: 我在THEN ColumnA 之后添加了END。我已将完整的计算放在另一组括号中。
我将自己置于 S.O. 的怜悯之下。我错过了什么?
【问题讨论】:
标签: openedge progress-db