微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mysql-SQL返回包含非NULL数据的字段列表

如何返回给定表中包含任何非NULL数据的字段列表?

作为示例,我如何查询下面的示例表以仅返回以下三个值,因为它们包含非NULL值.

> LO2_HiddenorgID
> LO2_BranchOfOrgID
> LO2_ShortName

我正在寻求尽可能多的自动化,因为我要检查数千个字段.

另外,我目前在开发时使用sqlite,但很乐意接受任何有关sqlite,MySQL或Postgresql的建议.

解决方法:

因此,您的目标是获取列名列表,以使它们在任何行中都至少具有一个非NULL值,对吗?如果是这样,请参见下文…

您无法对SQL查询中的列名称进行参数设置,因此您需要以所选的客户端语言动态构建sql文本.该算法将如下所示:

>您必须事先知道列名列表.在PostgreSQLMySQL和大多数其他数据库中,有一些方法可以自动检索此列表.
>遍历此列表,并为每个column_name动态构建sql文本,例如:从YOUR_TABLE WHERE column_name IS NOT NULL LIMIT中选择SELECT column_name(请参见MysqL LIMIT和Postgresql LIMIT).
>执行上面的查询获取结果.如果其中有一行,则将column_name添加到结果列表中.
>在列名称列表中有元素时,请保持迭代.

现在,结果列表包含具有至少一个非NULL值的列.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐