SQL Anywhere if..elseif..else语法错误

问题描述 投票:0回答:1

我试图在交互式SQL中使用if..elseif..else条件并执行查询但得到语法错误。

我已经在官方网站上查看了一些伪代码,并通过一些修改执行相同的代码,但它给出了相同的语法错误。

在官方网站上我找到了伪代码: - http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01031.0400/doc/html/asc1252677186261.html

执行后给出以下语法错误。

错误:无法执行语句。第3行'ELSEIF'附近的语法错误SQLCODE = -131,ODBC 3状态='42000'第1行,第1列

代码有一些修改: -

SELECT 
 (IF 1=1 THEN 1
 ELSEIF 2=2 AND 3=3 THEN 1.5
 ELSE 2
 END)

伪代码无需修改: -

SELECT (IF Price<1000 THEN 1
  ELSEIF Price >= 1000 AND Price <1500 THEN 1.5
  ELSE 2
  END)
sybase sqlanywhere isql
1个回答
0
投票

您正在尝试使用if expression而不是if语句。 if表达式不支持elseif。解决方案是使用case语句,如您所见。

© www.soinside.com 2019 - 2024. All rights reserved.