1 / 1 / 1
Регистрация: 08.03.2015
Сообщений: 127
1

Ошибка при использовании оператора CASE

28.08.2015, 07:41. Показов 736. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
До элементарности банальное выносит мозг
постоянно выводит ошибку:
SQL
1
2
3
4
CASE 
  WHEN b IS NULL
  THEN b = 0
END
или
SQL
1
2
3
4
CASE 
  WHEN b IS NULL
  THEN 0
END
причем не работает в глобальном, не только проверка на NULL
проверка на любое значение (равно, больше-меньше, не равно)
что я делаю не так?

Если нужен код запроса в целом, то вот:
SQL
1
2
3
4
5
6
7
8
SELECT B_VOL
CASE 
  WHEN B_VOL IS NULL
  THEN B_VOL = 0
END
FROM utQ
LEFT JOIN utB
ON utQ.Q_ID=utB.B_Q_ID
ПС извините за глупый вопрос новичка в базах, учебники курил, инет гуглил, вставлял прямо примеры написания от туда, и все равно выдает туже ашипку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.08.2015, 07:41
Ответы с готовыми решениями:

Ошибка при использовании DISTINCT, ORDER BY и CASE
Есть запрос, он выполняется без ошибок, но есть дублирующие записи SELECT "Field2" FROM "Table1"...

Ошибка CASE в CASE возникла при переносе в столбец с текстом, дату
Подскажите пожалуйста, при формировании второго условия возникла ошибка, как исправить? - как...

Ошибки при использовании оператора CASE
Вот программа по ссылке. Ссылка удалена модератором. функция ...

Ошибка при использовании Case
Вот первый код: Program Conundrum; Uses CRT; Procedure BreakDoor; Var...

4
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
28.08.2015, 09:28 2
Цитата Сообщение от father_igni Посмотреть сообщение
что я делаю не так
Для начала, о какой СУБД идет речь?

В запросе целиком после B_VOL как минимум не хватает запятой
0
1 / 1 / 1
Регистрация: 08.03.2015
Сообщений: 127
28.08.2015, 09:52  [ТС] 3
речь идет о "сферическом коне в вакууме"
т.е. об SQL в чистом виде, а вопрос взят из задачи с этого сайта: http://www.sql-ex.ru/

про запятую, а нужна ли она, если мы выводим только одно поле?
или я не понял сам принцип и CASE выводит (заменяет) значение перед выводом в SELECT?
0
Модератор
4215 / 3056 / 583
Регистрация: 21.01.2011
Сообщений: 13,205
28.08.2015, 10:50 4
Цитата Сообщение от father_igni
речь идет о "сферическом коне в вакууме" т.е. об SQL в чистом виде
Нет такого. У каждой СУБД свой диалект SQL и они в общем случаи не совпадают (кроме простейших случаев). Поэтому для реального освоения лучше сориентироваться на какую-нибудь СУБД, поставить ее себе на комп и уже на ней тренироваться.

Цитата Сообщение от father_igni
про запятую, а нужна ли она, если мы выводим только одно поле?
или я не понял сам принцип и CASE выводит (заменяет) значение перед выводом в SELECT?
Не понял принцип. Например, в синтаксисе Oracle
SQL
1
2
3
4
5
6
7
SELECT 
      CASE
           WHEN fld1 IS NULL  THEN  'Y'
           WHEN fld1 = 'ABC'   THEN  'A'
           ELSE  'N'
      END  AS Col1
FROM tab1
Здесь будет выводиться одна колонка, в которой в зависимости от значения в fld1 будет Y, A или N
1
1 / 1 / 1
Регистрация: 08.03.2015
Сообщений: 127
28.08.2015, 22:47  [ТС] 5
спасибо огромное!
0
28.08.2015, 22:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.08.2015, 22:47
Помогаю со студенческими работами здесь

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

Ошибка при использовании оператора read
почему при выполнении следующей части программы var a,b:real; o:char; begin read(a,o,b);...

Ошибка при использовании логического оператора
#include <conio.h> #include <stdio.h> #include <locale.h> int main() { ...

Ошибка при использовании оператора OR SQL
Добрый день, товарищи! Пока только осваиваю БД, и вдруг найду среди вас совета. Как внедрить OR...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru