我想从表中选择所有值。一列是 SIGNED INTEGER ,也包含负数。我想在选择时为此列(1)设置最小值。像这样:
如果值 20 ,我想 20 。
如果值 1 ,我想 1 。
但是当小于 1 的值时,我只想获得 1 。
是否有允许我这样做的功能?它应该只有1个命令,因为我想在PHP中使用它与mysqli!
答案 0 :(得分:3)
使用GREATEST()功能:
SELECT GREATEST(-1,1); -> 1
SELECT GREATEST(20,1); -> 20
答案 1 :(得分:2)
使用CASE
select case when your_column >= 0
then your_column
else 1
end
from your_table
或IF()
select if(your_column >= 0, your_column, 1)
from your_table
答案 2 :(得分:0)
SELECT CASE WHEN <colname> < 1 THEN 1 ELSE <colname> END CASE
如果小于1,它将返回一个。如果它大于1,它将返回它的值。
在此处查看更多信息: