1

我想从表中选择所有值。一列是SIGNED INTEGER,它也包含负数。我想在选择时为此列 (1) 设置最小值。像这样:

如果值为20我想得到20

如果值为1,我想得到1

但是当值小于1时,我只想得到1

有没有允许我这样做的功能?它应该只有 1 个命令,因为我想用 mysqli 在 PHP 中使用它!

4

3 回答 3

3

使用GREATEST()函数:

SELECT GREATEST(-1,1); -> 1
SELECT GREATEST(20,1); -> 20
于 2013-07-23T13:30:57.110 回答
2

使用案例

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
于 2013-07-23T13:26:55.967 回答
0
SELECT CASE WHEN <colname> < 1 THEN 1 ELSE <colname> END CASE

如果它小于一个,它将返回一个。如果它大于一,它将返回它的值。

在这里查看更多:

http://dev.mysql.com/doc/refman/5.0/en/case.html

于 2013-07-23T13:30:11.930 回答