ISNULL函数起作用的前提是 该条数据存在
可以先通过 IF EXISTS 来判断是否存在
IF EXISTS (
SELECT
ISNULL( CASE WHEN (SELECT COUNT(1) FROM beau_User where UserId=mpo.superior_user_id and PID='10539300278' )>0 THEN
(ISNULL(mpo.buy_commission, 0)+ISNULL(mpo.superior_commission, 0))/1000 ELSE
(ISNULL(mpo.buy_commission, 0)+ISNULL(mpo.head_commission, 0))/1000 END,0) p
from mm_pdd_order mpo where mpo.head_user_id='59686498966192128' and
create_time >='2020-02-01' and (order_status !=-1 and order_status !=4 and order_status !=8 and order_status !=10)
)
BEGIN
SELECT
ISNULL( CASE WHEN (SELECT COUNT(1) FROM beau_User where UserId=mpo.superior_user_id and PID='10539300278' )>0 THEN
(ISNULL(mpo.buy_commission, 0)+ISNULL(mpo.superior_commission, 0))/1000 ELSE
(ISNULL(mpo.buy_commission, 0)+ISNULL(mpo.head_commission, 0))/1000 END,0) p
from mm_pdd_order mpo where mpo.head_user_id='59686498966192128' and
create_time >='2020-02-01' and (order_status !=-1 and order_status !=4 and order_status !=8 and order_status !=10)
END
ELSE
BEGIN
--如果不存在
SELECT
0 p
END
本文探讨了在SQL中如何结合使用ISNULL和IFEXISTS函数,以高效处理可能为空的数据字段。通过具体案例,展示了如何在复杂的查询语句中确保数据的完整性和准确性。

2779

被折叠的 条评论
为什么被折叠?



