如果满足第一个条件,是否有可能在oracle sql中出现问题?

时间:2017-04-22 17:11:57

标签: sql oracle case

例如,是否有任何关键字或方法可以执行以下操作:

var users =  _userManager.Users.ToList();
var userList = users.Select(u => 
                new ApplicationUserListViewModel {
                    UserEmail = u.Email,
                    Roles = u.Roles.ToList() }
                    ).ToList(); 

1 个答案:

答案 0 :(得分:2)

您了解CASE的工作原理吗?它会评估条件,直到满足第一个条件。请考虑以下问题:

SELECT (CASE WHEN ENAME like 'Arnold%' THEN DESIGNATION
             ELSE ENAME
        END) AS RESULT
FROM EMP;

满足条件时返回DESIGNATION,否则返回ENAME。如果在事情不匹配时需要NULL,请忽略ELSE子句:

SELECT (CASE WHEN ENAME like 'Arnold%' THEN DESIGNATION
        END) AS RESULT
FROM EMP;

如果您只想要与结果集中的条件匹配的ENAME,请使用WHERE

SELECT DESIGNATION AS RESULT
FROM EMP
WHERE ENAME like 'Arnold%';