如何快速找到表中每个字段都不为空的一行记录?

假设一张表有100个字段,我现在只要表中这100个字段都不为空的记录,有什么简便写法?

阅读 4.7k
1 个回答

大部分sql函数只要有参数有NULL, 结果都会为NULL, 可以利用这点

SELECT * FROM table1 WHERE CONCAT(key1, key2, key3, key4) IS NOT NULL;
SELECT * FROM table1 WHERE GREATEST(key1, key2, key3, key4) IS NOT NULL;
SELECT * FROM table1 WHERE key1 + key2 + key3 + key4 IS NOT NULL;

鉴于我的答案被人踩了 还有人质疑 那我就补个图吧:

图片描述

其中第二列(form_id)是INT 其余两列都为VARCHAR

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