Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como obter o valor padrão se o valor da coluna for NULL?


Se você escrever isso:
SELECT
    COALESCE(OVER_BID_PRICE, -1)
FROM
    AUCTION_CAR_BID
WHERE
    BID_SEQ = 2354435345;

Os resultados podem ser de dois tipos.

Primeiro resultado:Sua consulta não retorna linhas! Sua condição WHERE não é satisfatória, então você lerá NULL

Segundo resultado:sua consulta retorna linhas, mas o valor do seu campo é NULL, seu COALESCE funciona bem neste caso

Para resolver você pode tentar isso:
SELECT COALESCE(
   (SELECT
   COALESCE(OVER_BID_PRICE, -1)
   FROM AUCTION_CAR_BID
   WHERE BID_SEQ = 2354435345)
,-1);

Diga-me se está tudo bem