Как документировано в руководстве"простое" выражение случая (не "выражение") в форме case some_thing when ...
только допускает условия равенства, когда столбец (фактически выражение)сравнивается с постоянным значением с помощью оператора =
.
Таким образом, следующее:
case some_column
when 1 then 'one'
when 2 then 'two'
else 'Something else'
end
эквивалентно:
case
when some_column = 1 then 'one'
when some_column = 2 then 'two'
else 'Something else'
end
«Простое» выражение (case some_column when ...
) больше не поддерживает ничего.
Если вы хотите использовать условие between
, вы не можете его использовать.
Производительность обеих версий должна быть одинаковой.По крайней мере, это будет незначительно по сравнению с работой, которую необходимо выполнить для обновления строк в таблице и записи этих изменений на диск.