Подтвердить что ты не робот

Заявления IF-THEN-ELSE в postgresql

Я хочу написать postgresql-запрос, чтобы сделать следующее:

if(field1 > 0,  field2 / field1 , 0)

Я пробовал этот запрос, но он не работает

if (field1 > 0)
then return field2 / field1 as field3
else return 0 as field3

спасибо you

4b9b3361

Ответ 1

Как указано в документах PostgreSQL здесь:

Выражение SQL CASE представляет собой условное условное выражение, подобное операторам if/else в других языках программирования.

Фрагмент кода, специально отвечающий на ваш вопрос:

SELECT field1, field2,
  CASE
    WHEN field1>0 THEN field2/field1
    ELSE 0
  END 
  AS field3
FROM test

Ответ 2

case when field1>0 then field2/field1 else 0 end as field3