Назовите выражение случая? - PullRequest
1 голос
/ 29 февраля 2012

У меня есть выражение регистра в выражении DB2, подобное следующему.

SELECT A,
   CASE WHEN B LIKE ' %'
      THEN C
      ELSE B
   END CASE,
   D
FROM TAB

Я бы хотел назвать столбец, к которому приводит выражение case, но я получаю синтаксическую ошибку как с AS, следующим сразу за END CASE, так и с заключением всего выражения в скобки и после него с AS.

Добавление AS (без символов) приводит к следующей ошибке

199: SQL0199N Использование зарезервированного слова "AS" follow "" недопустимо. Ожидаемые токены могут включать: «ОТ INTO». SQLSTATE = 42601

Как я могу назвать этот столбец?

1 Ответ

3 голосов
/ 29 февраля 2012

Конечное ключевое слово не END CASE, оно просто END:

SELECT A,
   CASE WHEN B LIKE ' %'
      THEN C
      ELSE B
   END AS D                 --- the AS is optional
FROM TAB

Вот документация для выражения CASE в DB2 - хотя в действительности это не нужно, это стандартный SQL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...