sql - 将 NULL 替换为 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
该语句返回如下数据:
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)
代替工资时间,但它没有用。
解决方案
只需为每个表达式添加一个else
分支,当第一个条件不匹配时返回:case
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
推荐阅读
- python - 硒使铬工艺保持开放
- c# - 列表视图所选项目值更改未及时反映 UI
- qt - QSortFilterProxyModel:源模型报告的变化不一致
- apache-kafka - Kafka 高负载平衡问题
- python - LPTHW 练习 47:nosetest 运行了 0 个测试
- android - 从 Xamarin Android 服务请求权限
- javascript - “大小”参数中的错误不得大于 2147483647(角度)
- javascript - React-Native:在另一个类中访问 TextField 值
- java - 如何从控制台输入字符串中获取控制字符
- javascript - Javascript – 动态添加时不显示 PNG