Как я могу заменить значение NULL на 0 в результате запроса SQL - PullRequest
0 голосов
/ 26 мая 2010
SELECT  EmployeeMaster.EmpNo, Sum(LeaveApplications.LeaveDaysTaken) AS LeaveDays
    FROM  EmployeeMaster  FULL OUTER JOIN
    LeaveApplications ON EmployeeMaster.id = LeaveApplications.EmployeeRecordID INNER JOIN
    LeaveMaster ON EmployeeMaster.id = LeaveMaster.EmpRecordID
    GRoup BY EmployeeMaster.EmpNo
    order by LeaveDays Desc

с указанным выше запросом, если у сотрудника нет записи о выходе из приложения в таблице LeaveApplications , тогда его Sum (LeaveApplications.LeaveDaysTaken) AS Столбец LeaveDays возвращает NULL. То, что я хотел бы сделать, это поместить значение 0 (ноль) вместо NULL. Я хочу сделать это, потому что у меня есть вычисляемый столбец в том же запросе, формула которого зависит от возвращенных LeaveDays, а когда LeaveDays имеет значение NULL, формульный, как-то не получается. Могу ли я поставить 0 для NULL, чтобы получить желаемый результат?

Ответы [ 3 ]

2 голосов
/ 26 мая 2010
SELECT  EmployeeMaster.EmpNo, ISNULL(Sum(LeaveApplications.LeaveDaysTaken),0) AS LeaveDays
    FROM  EmployeeMaster  FULL OUTER JOIN
    LeaveApplications ON EmployeeMaster.id = LeaveApplications.EmployeeRecordID INNER JOIN
    LeaveMaster ON EmployeeMaster.id = LeaveMaster.EmpRecordID
    GRoup BY EmployeeMaster.EmpNo
    order by LeaveDays Desc
1 голос
/ 26 мая 2010

Вы можете использовать ISNULL

ISNULL(SUM(LeaveApplications.LeaveDaysTaken), 0) AS LeaveDays
0 голосов
/ 26 мая 2010

Используйте функцию isnull.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...