sql >> Database >  >> RDS >> Mysql

Hoe de standaardwaarde te bereiken als de kolomwaarde NULL is?

Als je dit schrijft:

SELECT
    COALESCE(OVER_BID_PRICE, -1)
FROM
    AUCTION_CAR_BID
WHERE
    BID_SEQ = 2354435345;

De resultaten kunnen van twee soorten zijn.

Eerste resultaat:uw zoekopdracht retourneert geen rijen! Uw WHERE-voorwaarde is onbevredigend, dus u leest NULL

Tweede resultaat:uw zoekopdracht retourneert rijen, maar de waarde van uw veld is NULL, uw COALESCE werkt in dit geval prima

Om dit op te lossen kun je dit proberen:

SELECT COALESCE(
   (SELECT
   COALESCE(OVER_BID_PRICE, -1)
   FROM AUCTION_CAR_BID
   WHERE BID_SEQ = 2354435345)
,-1);

Zeg me of het goed is



  1. Een beperking in SQL Server (T-SQL) laten vallen

  2. PHP PDOException:SQLSTATE [HY000] [2019] Kan tekenset utf8mb4 niet initialiseren

  3. Wat is de beste manier om een ​​enkele rijtabel in MySQL in te voegen en bij te werken?

  4. De status van database-instanties controleren