gpt4 book ai didi

sql - 隐藏空列

转载 作者:行者123 更新时间:2023-12-04 14:42:49 25 4
gpt4 key购买 nike

我有一个包含 75 列的表格。什么是只显示值在的列的sql语句?

谢谢

最佳答案

确实不存在类似的语句(在 SELECT 中,您只能对行使用条件过滤器,不能对列使用)。但是您可以尝试编写一个(有点棘手的)过程。它必须使用查询检查哪些列至少包含一个非 NULL/empty 值。当您获得此列列表时,只需将它们连接成一个字符串,每个列之间用逗号分隔,然后组成一个您可以运行的查询,返回您想要的内容。

编辑:我考虑过,我认为你可以用一个程序来做,但在这些条件之一下:

  • 找到一种在过程中动态检索列名的方法,即元数据(我从未听说过它,但我是过程的新手)

    <
  • 硬编码所有列名(失去通用性)

如果您的 DBMS 的存储过程支持数组(或用 C 等编程语言编写该过程),您可以在数组 中收集列名,并在它们上循环,生成一个 SELECT 每次,检查它是否为空*列。如果它至少包含一个值,则将其连接成一个字符串,其中列名以逗号分隔。最后,您可以仅使用非空列进行查询!

除了存储过程之外,您还可以编写一个简短的程序(例如,在 Java 中),您可以在其中处理更好的灵 active 。

*如果您检查NULL 值,这将很简单,但如果您检查空值,您将需要管理每一列数据类型...另一个具有数据类型的数组?

关于sql - 隐藏空列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4748590/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com