it-swarm-ru.tech

Является ли функция Null в DB2 SQL?

Существует ли перманентный эквивалент функции isnull для DB2?

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

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

Мог бы вернуться:

1 Socks 
2 Shoes 
3 Internal 
4 Pants
16
Dave

Для чего это стоит, КОАЛЕСС похож, но 

IFNULL(expr1, default)

это точное соответствие, которое вы ищете в DB2. 

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

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

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

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

35
MadMurf

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

то есть:


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

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

Пример:

ВЫБЕРИТЕ ID, NVL (ИМЯ, «Внутренний» КАК ИМЯ, NVL (ЦЕНА, 0) КАК ЦЕНА ИЗ ПРОДУКТА С UR;

2
Md. Kamruzzaman
Select Product.ID, VALUE(product.Name, "Internal") AS ProductName from Product
2
Jnn

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

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

0
venkatram

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

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

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

0
Fuangwith S.