¿Cómo encuentro el máximo (o mínimo) de dos enteros en Postgres / SQL? Uno de los enteros no es un valor de columna.
Daré un escenario de ejemplo:
Me gustaría restar un número entero de una columna (en todas las filas), pero el resultado no debe ser menor que cero. Entonces, para empezar, tengo:
UPDATE my_table
SET my_column = my_column - 10;
Pero esto puede hacer que algunos de los valores sean negativos. Lo que me gustaría (en pseudocódigo) es:
UPDATE my_table
SET my_column = MAXIMUM(my_column - 10, 0);
postgresql
HRJ
fuente
fuente
Respuestas:
Echa un vistazo a MAYOR y MENOS .
fuente
Desea el sql en línea
case
:max()
es una función agregada y obtiene el máximo de una fila de un conjunto de resultados.Editar: oops, no sabía
greatest
yleast
en postgres. Use eso en su lugar.fuente