Функция IsNull в DB2 SQL?

Есть ли исполняемый файл, эквивалентный функции isnull для DB2?

Представьте, что некоторые из наших продуктов являются внутренними, поэтому у них нет имен:

Select product.id, isnull(product.name, "Internal) 
From product

Может вернуться:

1 Socks 
2 Shoes 
3 Internal 
4 Pants

Ответы

Ответ 1

Для чего стоит COALESCE, но

IFNULL(expr1, default)

- точное совпадение, которое вы ищете в DB2.

COALESCE позволяет использовать несколько аргументов, возвращая первое выражение NON NULL, тогда как IFNULL разрешает только выражение и значение по умолчанию.

Таким образом,

SELECT product.ID, IFNULL(product.Name, "Internal") AS ProductName
FROM Product

Дает вам то, что вы ищете, а также предыдущие ответы, просто добавляя для полноты.

Ответ 2

Я не знаком с DB2, но вы пробовали COALESCE?

т


SELECT Product.ID, COALESCE(product.Name, "Internal") AS ProductName
FROM Product

Ответ 3

Select Product.ID, VALUE(product.Name, "Internal") AS ProductName from Product

Ответ 4

В DB2 есть функция NVL (поле, значение, если null).

Пример:

SELECT ID, NVL (NAME, "Internal" ) AS NAME, NVL (PRICE, 0) КАК ЦЕНА ИЗ ПРОДУКТА С UR;

Ответ 5

COALESCE функция такая же ISNULL функция Заметка. вы должны использовать функцию COALESCE с тем же типом данных столбца, который вы проверяете, ноль.

Ответ 6

Я думаю, что функция COALESCE частично похожа на isnull, но попробуйте.

Почему бы вам не пойти на нулевые функции обработки через прикладные программы, это лучше альтернатива.

Ответ 7

надеюсь, что это может помочь кому-то еще там

  SELECT 
.... FROM XXX XX
WHERE
....
AND(
       param1 IS NULL
       OR XX.param1 = param1
       )