如何返回给定表中包含任何非NULL数据的字段列表?
作为示例,我如何查询下面的示例表以仅返回以下三个值,因为它们包含非NULL值.
> LO2_HiddenorgID
> LO2_BranchOfOrgID
> LO2_ShortName
我正在寻求尽可能多的自动化,因为我要检查数千个字段.
另外,我目前在开发时使用sqlite,但很乐意接受任何有关sqlite,MySQL或Postgresql的建议.
解决方法:
因此,您的目标是获取列名列表,以使它们在任何行中都至少具有一个非NULL值,对吗?如果是这样,请参见下文…
您无法对SQL查询中的列名称进行参数设置,因此您需要以所选的客户端语言动态构建sql文本.该算法将如下所示:
>您必须事先知道列名列表.在PostgreSQL、MySQL和大多数其他数据库中,有一些方法可以自动检索此列表.
>遍历此列表,并为每个column_name动态构建sql文本,例如:从YOUR_TABLE WHERE column_name IS NOT NULL LIMIT中选择SELECT column_name(请参见MysqL LIMIT和Postgresql LIMIT).
>执行上面的查询并获取结果.如果其中有一行,则将column_name添加到结果列表中.
>在列名称列表中有元素时,请保持迭代.
现在,结果列表包含具有至少一个非NULL值的列.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。