Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 clob и varchar2  [new]
alecsey
Member

Откуда: Москва
Сообщений: 830
Есть функция f(i IN VARCHAR2) RETURN VARCHAR2, есть таблица tab(... text CLOB).
ситуация 1: делаю запрос
SELECT f(text) FROM tab...
при некоторых значениях text(все значения меньше 4кб) выдается ошибка ORA-06502: PL/SQL: numeric or value error ORA-06512: at "....", line 2260 ORA-06512: at line 1
ситуация 2: делаю запрос
DECLARE
  str$ VARCHAR2(4000);
BEGIN
  SELECT text INTO str$ FROM tab...;
  str$ := f(str$);
END;
все работает, в чем трабла не пойму, что то с преобразованием CLOB в VARCHAR2?
3 авг 06, 18:34    [2962103]     Ответить | Цитировать Сообщить модератору
 Re: clob и varchar2  [new]
Levandovskiy
Member

Откуда:
Сообщений: 329
Для использования в SQL необходимо преобразовывать тип явно - cast
 SELECT f(cast(text as varchar2(4000))), f(dbms_lob.substr(text,4000,1)) FROM tab...
3 авг 06, 19:40    [2962282]     Ответить | Цитировать Сообщить модератору
 Re: clob и varchar2  [new]
alecsey
Member

Откуда: Москва
Сообщений: 830
закройте тему, походу это были особенности оракла без нормального дба =)
4 авг 06, 13:44    [2965590]     Ответить | Цитировать Сообщить модератору
 Re: clob и varchar2  [new]
contr
Member

Откуда:
Сообщений: 1909
alecsey
закройте тему, походу это были особенности оракла без нормального дба =)

Вы уж поделитесь с общественностью, раз раскопали...
4 авг 06, 13:46    [2965600]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить