Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wie erreiche ich den Standardwert, wenn der Spaltenwert NULL ist?

Wenn Sie dies schreiben:

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

Die Ergebnisse können zweierlei Art sein.

Erstes Ergebnis:Ihre Abfrage gibt keine Zeilen zurück! Ihre WHERE-Bedingung ist nicht zufriedenstellend, daher lesen Sie NULL

Zweites Ergebnis:Ihre Abfrage gibt Zeilen zurück, aber der Wert Ihres Felds ist NULL, Ihr COALESCE funktioniert in diesem Fall einwandfrei

Um das Problem zu lösen, können Sie Folgendes versuchen:

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

Sagen Sie mir, ob es in Ordnung ist