简体   繁体   English

如何在T-SQL中创建If-Then-Else

[英]How do I create an If-Then-Else in T-SQL

I have some negative values coming back from a query. 我从查询中返回了一些负值。 I would like them to just be zero. 我希望他们只是零。 How do I write a condition in my sql query that returns zero if the value is below a certain value. 如何在我的sql查询中编写一个条件,如果该值低于某个值,则返回零。

sol: 溶胶:

CASE WHEN  CONVERT(float,dt.FQI53X02_101)  <  1.3  THEN 0 ELSE CONVERT(float,dt.FQI53X02_101) END AS  FQI53X02_101

You dont use If-Then-Else in the actual query (you can use them but thats something else)... 你不在实际的查询中使用If-Then-Else(你可以使用它们,但那是别的东西)......

What you use is a Case statement... Try this 您使用的是Case语句...试试这个

Select
    Case When [Value] < 0 Then 0 Else [Value] End
From 
    Example

If you want it as part of your query, wrap the return inside a CASE statement. 如果您希望它作为查询的一部分,请将返回值包装在CASE语句中。 Example from MSDN is below MSDN的示例如下

SELECT     'Price Category' = 

        CASE 

            WHEN price IS NULL THEN 'Not yet priced'

            WHEN price < 10 THEN 'Very Reasonable Title'

            WHEN price >= 10 and price < 20 THEN 'Coffee Table Title'

            ELSE 'Expensive book!'

        END,

    CAST(title AS varchar(20)) AS 'Shortened Title'

FROM titles

ORDER BY price
( ABS(Value) + Value ) / 2

编辑 - 现在问题已经改变,这不起作用

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

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