postgresql – SQL:SELECT除了一些列之外的所有列

前端之家收集整理的这篇文章主要介绍了postgresql – SQL:SELECT除了一些列之外的所有列前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法选择表中的所有列,除了特定的列?从表中选择所有非blob或非几何列非常方便.

就像是:

SELECT * -the_geom FROM segments;

>我曾经听说过这个功能是故意排除在SQL standard之外的,因为更改向表中添加列会改变查询结果.这是真的?论证有效吗?
>有没有解决方法,特别是在Postgresql中?

Postgres和sql Standard(AFAIK)都没有这样的功能.我认为这是一个非常有趣的问题所以我用Google搜索了一下,并在 postgresonline.com上看到了一篇有趣的文章.

它们显示了一种直接从模式中选择列的方法

SELECT 'SELECT ' || array_to_string(ARRAY(SELECT 'o' || '.' || c.column_name
        FROM information_schema.columns As c
            WHERE table_name = 'officepark' 
            AND  c.column_name NOT IN('officeparkid','contractor')
    ),',') || ' FROM officepark As o' As sqlstmt

你可以创建一个类似的功能.这些主题也在邮件列表中进行了讨论,但总体共识几乎相同:查询架构.

我确信还有其他解决方案,但我认为它们都会涉及某种神奇的架构 – 查询 – foo.

顺便说一句:小心SELECT * …因为这会有性能损失

猜你在找的Postgre SQL相关文章