SQL Anywhere if..elseif..sese синтаксические ошибки - PullRequest
0 голосов
/ 08 апреля 2019

Я пытаюсь использовать условие if..elseif..else в интерактивном sql и выполнил запрос, но получил синтаксическую ошибку.

Я проверил на официальном веб-сайте псевдокод и выполнил то же самоекод с некоторыми изменениями, но он выдает ту же синтаксическую ошибку.

официальный сайт, где я нашел псевдокод: - http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc01031.0400/doc/html/asc1252677186261.html

Предоставление следующей синтаксической ошибки после выполнения.

ОШИБКА: не удалось выполнить инструкцию.Синтаксическая ошибка рядом с 'ELSEIF' в строке 3 SQLCODE = -131, ODBC 3 State = '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)

1 Ответ

0 голосов
/ 09 апреля 2019

Вы пытаетесь использовать выражение if вместо оператора if . Выражение if не поддерживает elseif. Решение состоит в том, чтобы использовать инструкцию case, как вы нашли.

...