用 0 替换 NULL
Replace NULL with 0
我有以下 CASE
表达式,将数据分为不同的类别并附上相应的小时数。
case
when Wstat_Name_Ch like '%Overtime signup%' then payhours
end as All_OT_Signup,
case
when Wstat_Abrv_Ch in ('CO', 'COU', 'Otnoshow') then payhours
end as OT_Removed,
case
when Wstat_Abrv_Ch in ('Ov', 'OTField', 'MinStafotp', 'OvUpsOT') then payhours
end as OT_Hours_Worked
语句returns这样的数据:
All_OT_Signup OT_Removed OT_Hours_Worked
500.00 NULL NULL
350.00 150.00 100.00
200.00 NULL NULL
我需要做的是用 0 替换任何 NULL。我尝试 ISNULL(payhours, 0)
代替 payhours,但它没有用。
只需在每个case
表达式中添加一个else
分支,即returns 0
当第一个条件不匹配时:
case
when Wstat_Name_Ch like '%Overtime signup%' then payhours
else 0
end as All_OT_Signup,
case
when Wstat_Abrv_Ch in ('CO', 'COU', 'Otnoshow') then payhours
else 0
end as OT_Removed,
case
when Wstat_Abrv_Ch in ('Ov', 'OTField', 'MinStafotp', 'OvUpsOT') then payhours
else 0
end as OT_Hours_Worked
我有以下 CASE
表达式,将数据分为不同的类别并附上相应的小时数。
case
when Wstat_Name_Ch like '%Overtime signup%' then payhours
end as All_OT_Signup,
case
when Wstat_Abrv_Ch in ('CO', 'COU', 'Otnoshow') then payhours
end as OT_Removed,
case
when Wstat_Abrv_Ch in ('Ov', 'OTField', 'MinStafotp', 'OvUpsOT') then payhours
end as OT_Hours_Worked
语句returns这样的数据:
All_OT_Signup OT_Removed OT_Hours_Worked
500.00 NULL NULL
350.00 150.00 100.00
200.00 NULL NULL
我需要做的是用 0 替换任何 NULL。我尝试 ISNULL(payhours, 0)
代替 payhours,但它没有用。
只需在每个case
表达式中添加一个else
分支,即returns 0
当第一个条件不匹配时:
case
when Wstat_Name_Ch like '%Overtime signup%' then payhours
else 0
end as All_OT_Signup,
case
when Wstat_Abrv_Ch in ('CO', 'COU', 'Otnoshow') then payhours
else 0
end as OT_Removed,
case
when Wstat_Abrv_Ch in ('Ov', 'OTField', 'MinStafotp', 'OvUpsOT') then payhours
else 0
end as OT_Hours_Worked