Используйте CASE в части SELECT:
insert into test (t_name)
select case
when users.first_name is null and users.last_name is null and users.id=0 then 'admin'
else users.first_name || '_' || users.last_name || '_' || to_date($values.report_date,'YYYY.MM.DD')
end
from users
where users.id = $session.user_id
Из вопроса (для меня) не ясно, должны ли все упомянутые вами условия быть верными или только одно из них.В зависимости от того, что вы хотите, вы должны изменить AND
s на OR
s в первой WHEN
части.
(Обратите внимание, что нет необходимости заключать SELECT в ()
дляINSERT ... SELECT
заявление)