powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Скалярный запрос в CASE
3 сообщений из 3, страница 1 из 1
Скалярный запрос в CASE
    #39521099
SQL_boy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята всем привет!

Читаю оракловую доку, раздел https://docs.oracle.com/cd/B19306_01/server.102/b14200/expressions010.htm#i1033549] Scalar Subquery Expressions . Здесь написано:
Oracle documentationA scalar subquery expression is a subquery that returns exactly one column value from one row.

You can use a scalar subquery expression in most syntax that calls for an expression (expr). However, scalar subqueries are not valid expressions in the following places:
....
In WHEN conditions of CASE expressions
....


Если я правильно перевел, то - скалярные подзапросы нельзя использовать в качестве условий в When для CASE выражений.
Пробую:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
--- Первый вариант
select
    case when 1 in (select 1 from dual) 
      then 'Hello Oracle!' end 
  from dual

--- Второй вариант
select
    case when (select 1 from dual) = 1 
      then 'Hello Oracle!' end 
  from dual

--- Третий
select
    case when 1 in (select 1 from dual)  
      then (select 'Hello Oracle!' from dual) end 
  from dual



Все три запрос успешно отработали! Вопрос - почему они отработали? Что не так я перевел в доке?
...
Рейтинг: 0 / 0
Скалярный запрос в CASE
    #39521116
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Скалярный запрос в CASE
    #39521147
trace.log
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Скалярный запрос в CASE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]