Php MYSQL选择,将所有负值设置为零

Php MYSQL选择,将所有负值设置为零,php,mysql,Php,Mysql,假设我有一个名为“test”的mysql表,在这个表中我有两列“A”,“B”。 我想得到A-B的结果,但是对于结果为负的每一行,我想将其设置为零 所以我可以写: 选择test.A-test.B作为myResult 但我不知道当myResult为负数时如何将myResult设置为零。 请帮忙 谢谢使用IF语句将其设置为负时为零 SELECT a, b, IF(a-b<0,0,a-b) as myResult FROM test; 选择a,b,IF(a-b使用IF语句将其设置为零,当其为负值

假设我有一个名为“test”的mysql表,在这个表中我有两列“A”,“B”。 我想得到A-B的结果,但是对于结果为负的每一行,我想将其设置为零

所以我可以写: 选择test.A-test.B作为myResult

但我不知道当myResult为负数时如何将myResult设置为零。 请帮忙
谢谢

使用
IF
语句将其设置为负时为零

SELECT a, b, IF(a-b<0,0,a-b) as myResult FROM test;

选择a,b,IF(a-b使用
IF
语句将其设置为零,当其为负值时

SELECT a, b, IF(a-b<0,0,a-b) as myResult FROM test;

选择a,b,IF(a-b为什么总是把事情弄复杂

对于此类问题,只需使用内置函数即可:

select greatest(0, test.A-test.B) as myResult from test;

从文档中:

为什么总是把事情弄得复杂

对于此类问题,只需使用内置函数即可:

select greatest(0, test.A-test.B) as myResult from test;

从文档中:

当他的结果为正时,会返回0。只有当结果为负时,他才想要一个0。而且,这不会返回负数吗,这正是他试图避免的?哦,你是对的……我的错误……我的意思是
grest()
而不是
least()
.THX只要结果为正,就会返回0。只有结果为负时,他才想要0。而且,这不会返回负数吗?这正是他试图避免的。哦,你说得对。我的错误。我的意思是
最大()
而不是
最小()
。THX