假设我在这个表中有一个名为"test"的mysql表我有两列"A","B".我想获得AB的结果,但是对于结果为负的每一行,我想将其设置为零.
所以我可以写:select test.A - test.B as myResult
但是当myResult为负数时,我不知道如何将myResult设置为零.请帮忙谢谢
为什么总是把事情复杂化?
只需使用内置函数解决此类问题:
select greatest(0, test.A-test.B) as myResult from test;
Run Code Online (Sandbox Code Playgroud)
来自文档:http : //dev.mysql.com/doc/refman/5.6/en/comparison-operators.html#function_greatest
小智 5
IF当它为负数时,使用该语句将其设置为零.
SELECT a, b, IF(a-b<0,0,a-b) as myResult FROM test;
Run Code Online (Sandbox Code Playgroud)
这只对您的查询结果有效,它实际上并不是UPDATE表.