sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo lograr el valor predeterminado si el valor de la columna es NULL?

Si escribes esto:

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

Los resultados pueden ser de dos tipos.

Primer resultado:¡Su consulta no devuelve filas! Su condición WHERE no es satisfactoria, por lo que leerá NULL

Segundo resultado:su consulta devuelve filas pero el valor de su campo es NULL, su COALESCE funciona bien en este caso

Para resolverlo, puedes probar esto:

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

Dime si está bien