MYSQL 的 SELECT 语句中如何做到判断字段为空

SELECT ifnull(字段A,字段B) FROM tbl ....

这里我想的是如果字段A为空就取字段B的值,可以这样写似乎不对,求教~

(SELECT (CASE 字段A WHEN NOT NULL THEN 字段A ELSE 字段B END) FROM tbl WHERE tb1.id=tb2.id) as name

这是完整语句,最终name无法实现我想要的效果

阅读 12.8k
3 个回答

用 COALESCE(A,B)
SELECT COALESCE(A,B) FROM tbl

select (case A when not null then A else B end) as result from tbl

去掉了is可以了

SELECT CASE
       WHEN BIRTHDAY IS NULL
         THEN PASSWORD
       ELSE BIRTHDAY
       END
FROM table_name;

(SELECT (CASE 字段A WHEN IS NOT NULL THEN 字段A ELSE 字段B END) FROM tbl WHERE tb1.id=tb2.id) as name

IS NOT NULL

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题