замена нулевого значения - PullRequest
0 голосов
/ 13 февраля 2020

Если я использую

select coalesce(firstname, surname, petname) as column_name


select isnull(firstname, surname) as column_name

Где все возвращают первый ненулевой столбец, если все столбцы нулевые, как я могу назначить, что заменить нулевое значение в выводе?

Обычно, как показано ниже для простой проверки одного столбца, я знаю, что могу вставить значение, если оно равно нулю, как показано ниже

 select coalesce(column_name, "value if null") as column_name

Кроме того, могут ли COALESCE и ISNULL использоваться взаимозаменяемо?

Спасибо!

1 Ответ

1 голос
/ 13 февраля 2020

Presto не имеет функции isnull.

Presto имеет синтаксис

  • coalesce, который принимает произвольное количество аргументов; это не функция, потому что она гарантирует, что аргументы имеют ленивый синтаксис
  • nullif, который принимает ровно 2 аргумента и в противном случае эквивалентен coalesce
...