it-swarm-vi.tech

Hàm IsNull trong SQL SQL?

Có một biểu diễn tương đương với hàm isnull cho DB2 không?

Hãy tưởng tượng một số sản phẩm của chúng tôi là nội bộ, vì vậy chúng không có tên:

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

Có thể trở lại:

1 Socks 
2 Shoes 
3 Internal 
4 Pants
16
Dave

Đối với giá trị của nó, COALESCE là tương tự nhưng 

IFNULL(expr1, default)

là kết hợp chính xác mà bạn đang tìm kiếm trong DB2. 

COALESCE cho phép nhiều đối số, trả về biểu thức NON NULL đầu tiên, trong khi IFNULL chỉ cho phép biểu thức và mặc định.

Như vậy

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

Cung cấp cho bạn những gì bạn đang tìm kiếm cũng như các câu trả lời trước đó, chỉ cần thêm cho đầy đủ.

35
MadMurf

Tôi không quen thuộc với DB2, nhưng bạn đã thử COALESCE chưa?

i E:


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

Trong DB2 có một hàm NVL (trường, giá trị nếu null).

Thí dụ:

ID CHỌN, NVL (TÊN, "Nội bộ) NHƯ TÊN, NVL (GIÁ, 0) NHƯ GIÁ TỪ SẢN PHẨM VỚI UR;

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

Tôi nghĩ hàm COALESCE tương tự một phần với isnull, nhưng hãy thử nó.

Tại sao bạn không dùng các hàm xử lý null thông qua các chương trình ứng dụng, nó là sự thay thế tốt hơn. 

0
venkatram

hy vọng điều này có thể giúp đỡ người khác ngoài kia

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

Hàm COALESCE cùng chức năng ISNULL Lưu ý. bạn phải sử dụng hàm COALESCE với cùng loại dữ liệu mà bạn kiểm tra là null.

0
Fuangwith S.