sql_isnull对查询结果无返回值的处理
程序员文章站
2022-06-07 19:32:04
...
如果查询结果无返回值(查询不到数据),可用 case when + count() 进行处理
select isnull((SELECT a.status FROM t_a a WHERE a.id = tc.id AND a.flag = 1),0)
SELECT a.status FROM t_a a WHERE a.id = tc.id AND a.flag = 1
上面这条sql 可能无数据返回,导致执行isnull,数据库会进行类型转换,可能长时间一直在查询中
优化处理:
select case when
(select count(status) FROM t_a a WHERE a.id = tc.id AND a.flag = 1) = 1
then (SELECT a.status FROM t_a a WHERE a.id = tc.id AND a.flag = 1 )
else 0
end
)
上一篇: PHP date函数常用时间处理方法
下一篇: 关于include异常的有关问题