sql >> Databasteknik >  >> RDS >> Mysql

Hur uppnår man standardvärdet om kolumnvärdet är NULL?

Om du skriver detta:

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

Resultaten kan vara två typer.

Första resultatet:Din fråga returnerar inga rader! Ditt WHERE-tillstånd är otillfredsställande så du kommer att läsa NULL

Andra resultatet:Din fråga returnerar rader men värdet på ditt fält är NULL, din COALESCE fungerar bra i det här fallet

För att lösa det kan du prova detta:

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

Säg till om det är OK



  1. PDO returnerar heltalskolumner som String i PHP5.4

  2. Ogiltig cast vid retur av mysql LAST_INSERT_ID() med dapper.net

  3. Självrefererande ManyToMany RelationstypORM

  4. Jag får ett felmeddelande när jag använder mysqli select