'null'
- это строка.null
есть.,,хорошо null
.Ваш account_id
имеет тип double precision
.Это странный выбор для account_id
, но неподходящие типы данных не имеют значения.Что важно, так это то, что выражение case
хочет, чтобы все было одного типа, причем числа имеют приоритет.
Возможно, вы захотите одну из следующих двух вещей:
(case when length(account_id) > 1 then account_id end) as account_id,
По умолчаниюnull
, когда нет else
.Вы можете добавить else null
, но это излишне.
Или:
(case when length(account_id) > 1 then account_id::varchar(255) else 'null' end) as account_id,