如何在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()
是一个聚合函数,并获得结果集的一行的最大值。
编辑:哎呀,不知道greatest
和least
的postgres。 改用它。