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

Bra*_*rad 5 sql t-sql sql-server

我从查询中返回了一些负值.我希望他们只是零.如何在我的sql查询中编写一个条件,如果该值低于某个值,则返回零.

溶胶:

CASE WHEN  CONVERT(float,dt.FQI53X02_101)  <  1.3  THEN 0 ELSE CONVERT(float,dt.FQI53X02_101) END AS  FQI53X02_101
Run Code Online (Sandbox Code Playgroud)

小智 7

你不在实际的查询中使用If-Then-Else(你可以使用它们,但那是别的东西)......

您使用的是Case语句...试试这个

Select
    Case When [Value] < 0 Then 0 Else [Value] End
From 
    Example
Run Code Online (Sandbox Code Playgroud)


Cod*_*y C 5

如果您希望它作为查询的一部分,请将返回值包装在CASE语句中.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
Run Code Online (Sandbox Code Playgroud)