简体   繁体   English

在select查询中插入if

[英]inserting if in a select query

How can i do something like this ? 我该怎么做这样的事情?

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

You want to use a CASE statement. 您想使用CASE语句。

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

You can use case statement like this: 您可以像这样使用case语句:

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

CASE (Transact-SQL) CASE(Transact-SQL)

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

Other major engines support this syntax: 其他主要引擎支持此语法:

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

SQL Server , however, does not. 但是, SQL Server没有。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM