На самом деле вам не нужно преобразовывать целое число в метку времени, вы можете просто сравнить извлеченный год с целым числом.
select
case when last_assess_yr < extract('year' from current_date)::int
then 'YES' else 'NO'
end
Однако для справки будет работать следующее:
select
case when format('01-01-%s'::text, 2017)::timestamp < current_date
then 'YES' else 'NO'
end
т.е. вам не нужно удалять время (дня) при преобразовании строки '01 -01-2017'до отметки времени.
и: я предполагаю, что ДА и НЕТ также должны рассматриваться как литералы:' ДА 'и' НЕТ '