IF THEN 导致语法 [OPENEDGE] 语法错误 (10713)
IF THEN causing syntax [OPENEDGE]Syntax error (10713)
我正在尝试针对 Progress OpenEdge 编写 IF/THEN/ELSE,但在我尝试的每次迭代中都出现语法错误。我正在尝试 select 一组列并进行一些计算。一个计算除以两列,所以我试图检查除数列以防它为零。
我收到以下错误,声明中不喜欢的内容略有不同,具体取决于我使用的 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 SQL 文档中的任何地方都没有看到 IF/THEN/ELSE:
https://documentation.progress.com/output/OpenEdge117/openedge117/#page/dmsrf/preface.html#
或:
做:...结束。某种语法是 4gl 语法——你不能在 SQL 引擎中使用它。
我正在尝试针对 Progress OpenEdge 编写 IF/THEN/ELSE,但在我尝试的每次迭代中都出现语法错误。我正在尝试 select 一组列并进行一些计算。一个计算除以两列,所以我试图检查除数列以防它为零。
我收到以下错误,声明中不喜欢的内容略有不同,具体取决于我使用的 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 SQL 文档中的任何地方都没有看到 IF/THEN/ELSE:
https://documentation.progress.com/output/OpenEdge117/openedge117/#page/dmsrf/preface.html#
或:
做:...结束。某种语法是 4gl 语法——你不能在 SQL 引擎中使用它。