Функция 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
)