如何在Postgres / SQL中获得两个整数的最小/最大值?

我如何在Postgres / SQL中find两个整数的最大值(或最小值)? 其中一个整数不是列值。

我将举一个例子:

我想从列中减去一个整数(在所有行),但结果不应小于零。 所以,首先,我有:

UPDATE my_table SET my_column = my_column - 10; 

但是,这可以使一些价值观消极。 我想(伪代码)是:

 UPDATE my_table SET my_column = MAXIMUM(my_column - 10, 0); 

看看最大和最小 。

 UPDATE my_table SET my_column = GREATEST(my_column - 10, 0); 

你想要内联的SQL case

 set my_column = case when my_column - 10 > 0 then my_column - 10 else 0 end 

max()是一个聚合函数,并获得结果集的一行的最大值。

编辑:哎呀,不知道greatestleast的postgres。 改用它。