Sql server 2005 如何在SQL查询结果中用空值替换0
通过上面的查询,如果员工在表LeaveApplications中没有休假申请记录,则其作为LeaveDays的和(LeaveApplications.LeaveDaysTaken)列返回NULL。我想做的是将值0(零)替换为NULL。我之所以要这样做,是因为我在同一个查询中有一个计算列,其公式取决于返回的LeaveDays,当LeaveDays为NULL时,该公式将失败。我是否可以将0设为空,这样我就可以得到我想要的结果 您可能需要使用Sql server 2005 如何在SQL查询结果中用空值替换0,sql-server-2005,tsql,Sql Server 2005,Tsql,通过上面的查询,如果员工在表LeaveApplications中没有休假申请记录,则其作为LeaveDays的和(LeaveApplications.LeaveDaysTaken)列返回NULL。我想做的是将值0(零)替换为NULL。我之所以要这样做,是因为我在同一个查询中有一个计算列,其公式取决于返回的LeaveDays,当LeaveDays为NULL时,该公式将失败。我是否可以将0设为空,这样我就可以得到我想要的结果 您可能需要使用ISNULL SELECT EmployeeMaster.
ISNULL
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
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
您可能需要使用
ISNULL
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
使用该功能。使用该功能