【问题标题】:How do I list all the column names in Netezza?如何列出 Netezza 中的所有列名?
【发布时间】:2015-08-16 21:45:36
【问题描述】:

我可以编写一个查询来搜索 Netezza 中特定数据库的所有列名吗?

【问题讨论】:

    标签: sql netezza


    【解决方案1】:

    netezza系统中重要的目录视图如下所示

    • _V_USER: 用户视图提供有关 netezza 系统中用户的信息。
    • _V_TABLE:表视图包含在 netezza 性能系统中创建的表的列表。
    • _V_RELATION_COLUMN:关系列系统目录视图包含表中可用的列。
    • _V_TABLE_INDEX:此系统目录包含有关 在表上创建的索引。 netezza 目前不支持在表上创建索引。
    • _V_OBJECTS:列出了 netezza 中可用的不同对象,如表、视图、函数等。

    例子:

    SELECT * 
    FROM _V_RELATION_COLUMN
    WHERE
        ATTNAME like '%GEO%' --SPECIFY COLUMN NAME
        AND type = 'TABLE'
    

    【讨论】:

      【解决方案2】:

      在同一个数据库中,您可以使用以下查询:

      select *
      from _v_odbc_columns1
      where column_name like '%columnname%'
      

      或较少的 Netezza 特定查询

      select *
      from information_schema.columns
      where column_name like '%columnname%'
      

      【讨论】:

      • 这对我来说是最好的答案,因为相同的代码在 MS Sql Server 和 Netezza 上运行良好。节省大量精力!
      【解决方案3】:

      您将访问类似于 information_schema 的内容。 列名 %COW%' 将使用 % 作为通配符...收集名称中包含“COW”的任何列

      SELECT * 
      FROM _V_SYS_COLUMNS 
      WHERE 
      COLUMN_NAME like '%COW%' 
      AND TABLE_SCHEMA = 'DEV' 
      ORDER BY TABLE_NAME 
      ;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-08
        • 1970-01-01
        • 2010-12-07
        • 1970-01-01
        • 2020-01-02
        • 2016-02-10
        • 2020-10-02
        相关资源
        最近更新 更多