多个标准SQL IIF

多个标准SQL IIF,sql,sql-server,Sql,Sql Server,给我 但我正在努力实现 | Studentnr | Result | Passed | |-----------|---------|-------------------| | 101 | 6.5 | Yes | 有没有办法用IIF做到这一点?不确定IIF是什么,但您可以使用案例来实现同样的效果 | Studentnr | Result | Passed | |-----------|------

给我

但我正在努力实现

| Studentnr | Result  | Passed            |
|-----------|---------|-------------------|
| 101       | 6.5     | Yes               |
有没有办法用IIF做到这一点?

不确定IIF是什么,但您可以使用案例来实现同样的效果

| Studentnr | Result  | Passed            |
|-----------|---------|-------------------|
| 101       | 6.5     | Yes lower than 7  |
| 102       | 8       | Yes higher than 7 |
| 103       | 4.5     | No                |
不确定IIF是什么,但您可以使用case实现同样的功能

| Studentnr | Result  | Passed            |
|-----------|---------|-------------------|
| 101       | 6.5     | Yes lower than 7  |
| 102       | 8       | Yes higher than 7 |
| 103       | 4.5     | No                |
可以使用case语句返回单个列

select studentnr, result, 
case when result>= 5.5 then 'Yes' 
    else 'No' 
end as passed,
case when result>= 7 then 'Higher than 7' 
    else 'Lower than 7' 
end as gt_lt_7
from grade
可以使用case语句返回单个列

select studentnr, result, 
case when result>= 5.5 then 'Yes' 
    else 'No' 
end as passed,
case when result>= 7 then 'Higher than 7' 
    else 'Lower than 7' 
end as gt_lt_7
from grade
这可以使用嵌套的IIF语句实现

SELECT IIF(a.results > 5.5, 

            --Another IIF if it's higher than 5.5
            IIF(a.results <= 7, 'Yes lower than 7', 'Yes higher than 7'), 

            -- else no.
            'No' ) AS Passed
FROM (
      VALUES (4), (6), (8)
     ) AS a(results);
例如:

这可以使用嵌套的IIF语句实现

SELECT IIF(a.results > 5.5, 

            --Another IIF if it's higher than 5.5
            IIF(a.results <= 7, 'Yes lower than 7', 'Yes higher than 7'), 

            -- else no.
            'No' ) AS Passed
FROM (
      VALUES (4), (6), (8)
     ) AS a(results);
例如:

SELECT IIF(a.results > 5.5, 

            --Another IIF if it's higher than 5.5
            IIF(a.results <= 7, 'Yes lower than 7', 'Yes higher than 7'), 

            -- else no.
            'No' ) AS Passed
FROM (
      VALUES (4), (6), (8)
     ) AS a(results);
SELECT CASE WHEN a.results > 7 THEN 'Yes higher than 7'
            WHEN a.results <= 7 AND a.results >= 5.5 THEN 'Yes lower than 7'
            ELSE 'No'
       END AS Passed
FROM (
      VALUES (4), (6), (8)
     ) AS a(results);