у меня есть подзапрос, который возвращает мне столбец varchar, в некоторых случаях этот столбец содержит только числовые значения, и в этом случае мне нужно преобразовать этот столбец в bigint, я пытаюсь использовать конструкцию CAST (case ...),но CASE - это выражение, которое возвращает один результат и независимо от пути, к которому он всегда должен приводить, к одному и тому же типу данных (или неявно преобразуемому в один и тот же тип данных).Есть ли какой-нибудь хитрый способ изменить тип данных столбца в зависимости от условий в PostgreSQL или нет?Google не может помочь мне ((
SELECT
prefix,
module,
postfix,
id,
created_date
FROM
(SELECT
s."prefix",
coalesce(m."replica", to_char(CAST((m."id_type" * 10 ^ 12) AS bigint) + m."id", 'FM0000000000000000')) "module",
s."postfix",
s."id",
s."created_date"
FROM some_subquery