20

DB2 の isnull 関数に相当するパフォーマントはありますか?

私たちの製品のいくつかは内部のもので、名前がありません:

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

戻る可能性があります:

1 Socks 
2 Shoes 
3 Internal 
4 Pants
4

8 に答える 8

38

その価値のために、COALESCEは似ていますが、

IFNULL(expr1, default)

は、DB2 で探している正確な一致です。

COALESCE は複数の引数を許可し、最初の NON NULL 式を返しますが、IFNULL は式とデフォルトのみを許可します。

したがって

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

完全を期すために追加するだけで、探しているものと以前の回答が得られます。

于 2009-07-14T00:44:40.540 に答える
5

DB2 には関数 NVL(field, value if null) があります。

例:

ID を選択し、NVL(NAME, "Internal) を名前として、NVL(PRICE,0) を UR の製品の価格として選択します。

于 2017-03-31T09:02:36.533 に答える
3

私は DB2 に詳しくありませんが、COALESCE は試しましたか?

すなわち:


SELECT Product.ID, COALESCE(product.Name, "Internal") AS ProductName
FROM Product
于 2008-09-15T17:52:25.240 に答える
0

COALESCE機能 同 ISNULL機能 注.COALESCEnull をチェックする列と同じデータ型の関数を使用する必要があります。

于 2008-10-02T16:28:33.297 に答える
0

COALESCEと機能が一部似ていると思いますisnullが、試してみてください。

アプリケーション プログラムを介して null 処理関数を使用してみませんか。それはより良い代替手段です。

于 2008-11-02T08:45:48.133 に答える
0

これが他の誰かを助けることを願っています

  SELECT 
.... FROM XXX XX
WHERE
....
AND(
       param1 IS NULL
       OR XX.param1 = param1
       )
于 2017-09-28T08:41:04.490 に答える