sql >> Databasteknik >  >> RDS >> PostgreSQL

postgres sql, hur man ökar när null finns

Du kan åstadkomma det med hjälp av coalesce funktion:

INSERT INTO mytable (id,inc) VALUES ('a',1)
ON CONFLICT (id)
DO UPDATE SET inc = coalesce(mytable.inc,0) + 1;

Nyckelpunkten är uttrycket coalesce(mytable.inc,0) , vilket betyder följande:if mytable.inc är inte NULL använd sedan det värdet, annars använd värdet 0 .




  1. INFOGA raderade värden i en tabell före DELETE med en DELETE TRIGGER

  2. Heroku - ActionView::Mall::Fel (PG::Fel:FEL:kolumn category_products.desc existerar inte

  3. Hur man lagrar bilder i MySQL-databas

  4. MYSQL lagrad procedur för uppdateringsvariabler är 0