0

我正在根据现有列计算tables列。但不知道该怎么做。

为了解释我的问题,假设我有一个表,其中有两列 A,B 都是 int。我现在正在做的是

Select A,B (A-B)as C from Table

我要申请的检查是

如果 C 小于零,则应显示零。而不是负值。

sql中的方法是什么

4

4 回答 4

1

试试这个,

  Select A,B ,case when(A-B)< 0 then 0 else (A-B) end as C from Table;
于 2013-01-02T05:43:20.963 回答
1
Select A,B,
CASE WHEN (A-B) < 0 THEN 0
ELSE (A-B)
END as C 
from Table

拉吉

于 2013-01-02T05:43:52.117 回答
1

你必须使用CASE (Transact-SQL)

这就是你想要的:

select A,B,
case when(A-B) < 0 then 0 else (A-B) end as c 
from Table

演示:SQL 小提琴

于 2013-01-02T05:45:18.587 回答
1
    try this

    select a,b,(a-b < 0 , 0 , a-b) as c from <table>
    // if then usage in mysql

    SELECT a,b,if(a-b < 0;0;a-b) as c FROM <table>
    // if then usage in sql

    // ie. if a-b is less than 0 then 0 else a-b 
于 2013-01-02T05:45:22.340 回答