Oracle не поддерживает DISTINCT
со столбцом CLOB
. Вы можете использовать TO_CHAR
(когда максимальная длина столбца CLOB меньше 4000
)
SELECT DISTINCT to_char(description) from FOLDER;
Поскольку вы упомянули в комментарии, что он работает нормально для oracle, я предполагаю, что нет проблемы длины. Поскольку вы ищете общее решение для POSTGRES
и ORACLE
, я бы предложил CAST
SELECT DISTINCT CAST(description as varchar(3000)) from FOLDER;
Это должно работать в обеих базах данных. Измените VARCHAR(N)
соответственно до максимального предела.
ВНИМАНИЕ: я не рекомендую использовать VARCHAR
вместо VARCHAR2
в oracle.
Тип данных VARCHAR является синонимом типа данных VARCHAR2. Чтобы избежать возможных изменений в поведении, всегда используйте тип данных VARCHAR2 для хранения символьных строк переменной длины.