Позвольте мне объяснить, почему я хочу это сделать ... Я создал панель мониторинга Tableau, которая позволяет пользователю просматривать/искать все таблицы & столбцов в нашей хранилище по схеме, тип объекта (таблица, представление, материализованное представление) и т. д. Я хочу добавить столбец, который извлекает образец данных из каждого столбца в каждой таблице - это также делается, но с этой проблемой ...:(Oracle/SQL) Объединить все типы данных в один столбец
В результате столбец состоит из данных разных типов (varchar2, LONG и т. Д.). Я могу в принципе получить каждый тип данных в соответствии с одним типом данных, кроме LONG - он не позволит мне преобразовать его во что-либо еще, совместимое со всем остальным (если это имеет смысл ...). Мне просто нужны все типы данных для совместного использования в одном столбце. Я пробовал много разных вещей и читал эту тему примерно неделю, но похоже, что это просто невозможно сделать, но по моему опыту всегда есть способ ... Я решил, что буду проконсультируйтесь с гуру здесь, прежде чем признать поражение.
Одна из вещей, которые я пробовал:
--Here, from two different tables, I'm pulling a single piece of data from a single column and attempting to merge into a single column called SAMPLE_DATA
--OTHER is LONG data type
--ORGN_NME is VARCHAR2 data type
select 'PLAN','OTHER', cast(substr(OTHER,1,2) as varchar2(4000)) as SAMPLE_DATA from sde.PLAN union all
select 'BUS_ORGN','ORGN_NME', cast(substr(ORGN_NME,1,2) as varchar2(4000)) as SAMPLE_DATA from sde.BUS_ORGN;
Результирующая ошибка:
Lookup Error
ORA-00932: inconsistent datatypes: expected CHAR got LONG
Как я могу добиться этого?
Спасибо заранее
Вы посмотрели на это [ссылка] (https://asktom.oracle.com/pls/apex/f?p=100:11:0::NO::P11_QUESTION_ID:839298816582)? – cableload
Можете ли вы использовать CLOB? Если это так, вы можете преобразовать все это в XML. – MT0