Nếu bạn viết cái này:
SELECT
COALESCE(OVER_BID_PRICE, -1)
FROM
AUCTION_CAR_BID
WHERE
BID_SEQ = 2354435345;
Kết quả có thể có hai loại.
Kết quả đầu tiên:Truy vấn của bạn không trả về hàng! Điều kiện WHERE của bạn không đạt yêu cầu nên bạn sẽ đọc NULL
Kết quả thứ hai:Truy vấn của bạn trả về các hàng nhưng giá trị trường của bạn là NULL, COALESCE của bạn hoạt động tốt trong trường hợp này
Để giải quyết, bạn có thể thử cách này:
SELECT COALESCE(
(SELECT
COALESCE(OVER_BID_PRICE, -1)
FROM AUCTION_CAR_BID
WHERE BID_SEQ = 2354435345)
,-1);
Hãy cho tôi biết nếu nó ổn