Пожалуйста, обратитесь на ссылку ниже:
ORA-00932
ОПИСАНИЕ
При возникновении ошибки ORA-00932, следующее сообщение об ошибке появится:
ORA-00932: inconsistent datatypes CAUSE
Вы пытались выполнить операцию между двумя различными типами данных, b ut типы данных несовместимы.
РЕЗОЛЮЦИЯ
Опция (s), чтобы устранить эту ошибку Oracle являются:
ВАРИАНТ # 1
Правильная работа, так что типы данных совместимы. Вы можете использовать функцию преобразования, такую как: TO_DATE, TO_NUMBER или TO_CHAR. Полный список наших функций Oracle можно найти на нашей веб-странице функций Oracle.
Одним из примеров этой ошибки является попытка использования условия LIKE с использованием типа LONG.
Например, если вы создали следующую таблицу:
CREATE TABLE suppliers
(supplier_id numeric(10) not null,
supplier_name long not null,
contact_name varchar2(50)
);
И тогда вы пытались использовать LIKE условие на колонке Имя поставщика, который, как это определено в качестве LONG типа данных:
SELECT *
FROM suppliers
WHERE supplier_name LIKE 'IBM%';
К сожалению, вы не можете использовать условие LIKE для типа данных LONG.
Чтобы исправить эту ошибку, вы можете выполнить одно из следующих действий:
- Не использовать LIKE условие в вашем SQL (против LONG поля типа данных).
- Рассмотрите возможность изменения таблицы таким образом, чтобы поле поставщика_name представляло собой поле VARCHAR2 или CHAR.
- Попробуйте написать пользовательскую функцию PLSQL для преобразования LONG в VARCHAR2.
ВАРИАНТ # 2
Эта ошибка может также возникнуть при попытке использовать функцию Oracle на LONG типа данных.
Например, если вы создали следующую таблицу:
CREATE TABLE suppliers
(supplier_id numeric(10) not null,
supplier_name long not null,
contact_name varchar2(50)
);
И тогда вы пытались использовать функцию TO_CHAR на колонке Имя поставщика, который, как это определено в качестве LONG типа данных:
SELECT upper(supplier_name)
FROM suppliers;
Вы получили бы сообщение об ошибке:
К сожалению, вы не можете использовать функции Oracle для типа данных LONG.
Чтобы исправить эту ошибку, вы можете выполнить одно из следующих действий:
- Не использовать функции Oracle в вашем SQL (против LONG поля типа данных).
- Рассмотрите возможность изменения таблицы таким образом, чтобы поле поставщика_name представляло собой поле VARCHAR2 или CHAR.
- Попробуйте написать пользовательскую функцию PLSQL для преобразования LONG в VARCHAR2.
Возможный дубликат HTTP : //stackoverflow.com/questions/5543314/how-to-include-the-column-user-views-text-in-a-where-clause – Incognito