在select查询中插入if

时间:2010-01-19 13:39:06

标签: sql sql-server

我该怎么办?

SELECT    (IF(SUM(Costo) > 0) SUM(Costo) ELSE 0) AS Expr1
FROM         TDP_NotaSpeseSezB

3 个答案:

答案 0 :(得分:4)

您想使用CASE语句。

Select 
  CASE WHEN SUM(Costo) > 0 THEN SUM(Costo) 
  ELSE 0 
  END 'Expr1'
FROM
  TDP_NotaSpeseSezB

答案 1 :(得分:1)

你可以像这样使用case语句:

SELECT case when sum(Costo)> 0 then sum(Costo) 
       else 0 end as Expr1 
FROM TDP_NotaSpeseSezB

CASE (Transact-SQL)

答案 2 :(得分:0)

SELECT   CASE WHEN SUM(Costo) > 0 THEN SUM(Costo) ELSE 0 END AS Expr1
FROM     TDP_NotaSpeseSezB

其他主要引擎支持此语法:

SELECT  GREATEST(SUM(Costo), 0)
FROM     TDP_NotaSpeseSezB
然而,

SQL Server没有。