Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Kozerog_2
Member

Откуда:
Сообщений: 151
Что означает =TO_NUMBER(:Z) в плане запроса полученного в TOAD

3 INDEX UNIQUE SCAN SYS.PK_CLIENTSESSION "CLIENT"."CLIENTSESSIONID"(+)=TO_NUMBER(:Z) "JOURNAL"."CLIENTSESSIONID"="CLIENT"."CLIENTSESSIONID"(+)

в запросе AND journal.clientsessionid = :1

Спасибо
20 ноя 08, 12:45    [6465843]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
козерог 98
Guest
Kozerog_2,

bind variable
20 ноя 08, 12:48    [6465880]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Kozerog_2
Member

Откуда:
Сообщений: 151
Я спрашивал о TO_NUMBER()

В запросе TO_NUMBER() - нет
В плане запроса - есть

Может так обозначают неявное преобразование типа
Тогда откуда известен тип :1(в запросе :Z)
20 ноя 08, 13:07    [6466081]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
ээ
Guest
Что-то мне подсказывает, что поле CLIENTSESSIONID таблицы CLIENT имеет тип NUMBER, к которому, собственно, и приводится.
20 ноя 08, 13:36    [6466335]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Kozerog_2
Member

Откуда:
Сообщений: 151
Поле CLIENTSESSIONID таблицы CLIENT имеет тип NUMBER.

Вопрос в том:
проводит запрос преобразование типа или нет ?
И откуда узнает что нужно TO_NUMBER, ведь это преобразование из CHAR ?
20 ноя 08, 13:48    [6466418]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Добрый Э - Эх
Guest
Kozerog_2
Поле CLIENTSESSIONID таблицы CLIENT имеет тип NUMBER.

Вопрос в том:
проводит запрос преобразование типа или нет ?
И откуда узнает что нужно TO_NUMBER, ведь это преобразование из CHAR ?
При сравнении числа (NUMBER) и символьной строки (CHAR / VARCHAR2) сервер всегда старается преобразовать строку в число. При сравнении строки с датой - в дату.
20 ноя 08, 13:55    [6466492]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Elic
Member

Откуда:
Сообщений: 29988
Команда explain plan for ничего не знает (и не может знать) о типах bind-переменных. Поэтому подразумеваются самые общие типы (вроде varchar2).
Почему 9-ка имена всех переменных заменяет на Z - ХЕЗ :)

Актуальный план надо смотреть в трассе.
20 ноя 08, 14:07    [6466593]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
Kozerog_2
Member

Откуда:
Сообщений: 151
Можно ли Актуальный план запроса посмотреть в TOAD 9.6 ?
20 ноя 08, 14:39    [6466827]     Ответить | Цитировать Сообщить модератору
 Re: Что означает =TO_NUMBER(:Z) в плане запроса  [new]
andrey_anonymous
Member

Откуда: Москва
Сообщений: 18363
Elic
Актуальный план надо смотреть в трассе.

Kozerog_2
Можно ли Актуальный план запроса посмотреть в TOAD 9.6 ?


[quote]- Я доеду до рынка на этом автобусе?
- Нет
- А я?
[/quote]

Добавлю от себя, что актуальный план можно увидеть не только в трассе, но и попытаться идентифицировать в v$sql_plan
Так что формальный ответ "можно, равно как и в sql*plus - если умения и терпения хватит, конечно" :)
20 ноя 08, 21:37    [6468838]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить