является ли функция null в db2 sql?

<p>существует ли перманентный эквивалент функции isnull для db2?</p><p>представьте, что некоторые из наших продуктов являются внутренними, поэтому у них нет названий:</p><pre><code>select product.id, isnull(product.name, "internal) from product </code></pre><p>мог бы вернуться:</p><pre><code>1 socks 2 shoes 3 internal 4 pants </code></pre>

<p>для чего это стоит, коалесс похож, но </p><pre><code>ifnull(expr1, default) </code></pre><p>это точное соответствие, которое вы ищете в db2. </p><p>coalesce допускает несколько аргументов, возвращая первое non null выражение, тогда как ifnull разрешает только выражение и значение по умолчанию.</p><p>таким образом</p><pre><code>select product.id, ifnull(product.name, "internal") as productname from product </code></pre><p>дает вам то, что вы ищете, а также предыдущие ответы, просто добавляя для полноты.</p>

<p>я не знаком с db2, но вы пробовали coalesce?</p><p>то есть:</p><pre><code> select product.id, coalesce(product.name, "internal") as productname from product </code></pre>

<p>в db2 есть функция nvl (поле, значение, если ноль).</p><p>пример:</p><p>выберите id, nvl (имя, «внутренний» как имя, nvl (цена, 0) как цена из продукта с ur;</p>

<pre><code>select product.id, value(product.name, "internal") as productname from product </code></pre>

<p>я думаю, что функция <code>coalesce</code> частично похожа на функцию <code>isnull</code>, но попробуйте.</p><p>почему бы вам не перейти к нулевым функциям обработки через прикладные программы, это лучшая альтернатива. </p>

<p>надеюсь, что это может помочь кому-то еще там</p><pre><code> select .... from xxx xx where .... and( param1 is null or xx.param1 = param1 ) </code></pre>

<p>функция <code>coalesce</code> та же функция <code>isnull</code> примечание. вы должны использовать функцию <code>coalesce</code> с тем же типом данных столбца, который вы проверяете, равен нулю.</p>