mysql sql语句设置返回值为空时返回想要的字段

SELECT  COALESCE((SELECT IFNULL(name,0) from data2 where id = 100),0)  as name
假设有一个data表有id name 属性
id  name
1   null
2   bbb


select name from data where id = 1
会返回name null
此时我们想要让id的返回值为空时返回0可以使用ifnull函数

SELECT IFNULL(name,0) as name from data where id = 1
返回 name 0
然而当id的值不存在时依然返回null
当运行
SELECT IFNULL(name,0) as name from data where id = 11
时返回 name null
此时我们就可以使用另一个函数COALESCE(null,0)来对上面的sql语句进行封装来达到目的

SELECT  COALESCE((SELECT IFNULL(name,0) from data where id = 100),0)  as name
即使在id的值不存在100时也会显示0

你可能感兴趣的:(mysql sql语句设置返回值为空时返回想要的字段)