sql >> Base de Datos >  >> RDS >> PostgreSQL

postgres sql, cómo incrementar cuando existe nulo

Puede lograrlo con la ayuda de coalesce función:

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

El punto clave es la expresión coalesce(mytable.inc,0) , lo que significa lo siguiente:if mytable.inc no es NULL luego use ese valor, de lo contrario use el valor 0 .