Замените 0 в одном поле в случае, если результатом оператора является строковое поле - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть утверждение вроде следующего:

select distinct s.field1, s.field 2, 

Case when s.intfield3 = 2018 then (RTRIM(cast(s.intfield4 as char (2))) +'/1/'+ cast(s.intfield3 as char (4)))

when c.intfield3 = 2018 then (RTRIM(cast(c.intfield4 as char(2))) +'/1/'+ cast(c.intfield3 as char (4)))
End as newfield

Моя проблема - s.intfield4 & c.intfield4 имеют 0 значений.Мне нужно изменить эти 0 значения на 12. Я пробовал несколько вещей, но ничего не работает.

1 Ответ

0 голосов
/ 06 февраля 2019

вы можете использовать

case when x = 0 then 12 else x end
...