IFNULL()我想以这样的方式使用,我可以选择包含 NULL 的记录,或者如果存在值,则选择与特定值匹配的记录。
我的查询是:
SELECT (@v:=2) AS Row, CL.LeaveTypeId, CL.NumberOfLeave
FROM `CompanyLeave` CL
WHERE(IFNULL(CL.EmploymentType,0)=3);
Run Code Online (Sandbox Code Playgroud)
列EmploymentType可以包含Integer或NULL。
我想选择与指定值匹配的记录,或者,如果没有匹配,则选择包含NULL.
我将这个问题解释为优先顺序。如果存在 的记录3,请选择该记录。NULL否则,选择,如果存在的话。
如果是这样,这可能会满足您的要求:
SELECT (@v:=2) AS Row, CL.LeaveTypeId, CL.NumberOfLeave
FROM `CompanyLeave` CL
WHERE CL.EmployementType = 3 or CL.EmployementType IS NULL
ORDER BY (CL.EmployementType = 3) DESC
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)
这将返回带有 的行3(如果存在)。否则,它将返回一行NULL,如果存在的话。
| 归档时间: |
|
| 查看次数: |
24832 次 |
| 最近记录: |