Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak osiągnąć wartość domyślną, jeśli wartość kolumny to NULL?

Jeśli to napiszesz:

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

Wyniki mogą być dwojakiego rodzaju.

Pierwszy wynik:Twoje zapytanie nie zwraca wierszy! Twój warunek WHERE jest niezadowalający, więc przeczytasz NULL

Drugi wynik:Twoje zapytanie zwraca wiersze, ale wartość Twojego pola to NULL, w tym przypadku Twoje COALESCE działa dobrze

Aby rozwiązać ten problem, możesz spróbować tego:

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

Powiedz mi, czy wszystko w porządku



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL LIKE z zasięgiem nie działa

  2. Najszybszy sposób na wygenerowanie 11 000 000 unikalnych identyfikatorów

  3. Zadeklaruj zmienną wyzwalającą MySQL

  4. ALTER TABLE w MySQL:przyjaciel czy wróg?

  5. 10 pytań do rozmowy kwalifikacyjnej na temat bazy danych MySQL dla początkujących i średniozaawansowanych