禁止来自 Netezza Select 语句的列名

Posted

技术标签:

【中文标题】禁止来自 Netezza Select 语句的列名【英文标题】:Suppress column names from Netezza Select statement 【发布时间】:2015-06-03 18:28:24 【问题描述】:

如何在 Netezza 中抑制 Select 语句的列标题和结尾?

Select Column_type from _v_sys_columns where table_name = 'EMP';

输出:

库尔斯 -------- EMP_NM EMP_SAL 行数(2)

我想禁止列名 (Columns ------) 和 row count(2)

感谢您的帮助。

【问题讨论】:

您好,欢迎来到 Stack Overflow!您的问题对于您正在尝试做什么或问题是什么相当模糊。我强烈建议您阅读这些页面:***.com/help/how-to-ask 和 ***.com/help/how-to-answer,它们都是在提问或回答问题时使用的绝佳资源,可以帮助您快速获得最佳答案。 【参考方案1】:

完成此操作的方法取决于您使用的界面/应用程序。从您提供的示例输出中不清楚您正在使用哪个,但我冒昧地猜测您正在使用 nzsql CLI。为此,您可以使用 \t 指令切换列标题的输出(以及尾随行数)。

TESTDB.ADMIN(ADMIN)=> select table_name, type_name from _V_SYS_COLUMNS where TABLE_NAME like 'EMP%';
 TABLE_NAME |       TYPE_NAME
------------+-----------------------
 EMPLOYEES  | BIGINT
 EMPLOYEES  | BIGINT
 EMPLOYEES  | CHARACTER VARYING(50)
 EMPLOYEES  | NUMERIC(20,2)
 EMP_NM     | BIGINT
 EMP_SAL    | BIGINT
(6 rows)

TESTDB.ADMIN(ADMIN)=> \t
Showing only tuples.

TESTDB.ADMIN(ADMIN)=> select table_name, type_name from _V_SYS_COLUMNS where TABLE_NAME like 'EMP%';
 EMPLOYEES  | BIGINT
 EMPLOYEES  | BIGINT
 EMPLOYEES  | CHARACTER VARYING(50)
 EMPLOYEES  | NUMERIC(20,2)
 EMP_NM     | BIGINT
 EMP_SAL    | BIGINT

或者,您可以使用“-t”选项调用 nzsql 以获得相同的效果。

【讨论】:

感谢 ScottMc G。 “-t”选项正在工作。非常感谢您的帮助。【参考方案2】:

您不能只省略标题(据我所知,不仅仅是使用NETEZZA)。您将不得不使用一些操作系统命令来去除多余的行。比如,如果你当前在LINUX 中运行NZSQL,那么你可能可以使用tailhead 命令来获得所需的输出

nzodbcsql -h <hostname> -d <db name> -u <userid>  -pw <password> -q "Select Column_type from _v_sys_columns where table_name = 'EMP'"| tail -3 | head -2 

【讨论】:

【参考方案3】:
nzsql -h $host_name -u $user -db $dbname -pw $password -A -t -c " 
 select table_name, type_name from _V_SYS_COLUMNS where TABLE_NAME like 'EMP%';"

它将修剪标题并对齐输出

【讨论】:

以上是关于禁止来自 Netezza Select 语句的列名的主要内容,如果未能解决你的问题,请参考以下文章

JOIN 替代 SELECT 子查询

来自多个表的 Postgres/netezza 多重连接

netezza 的 _v_session_brief 表中的列名代表啥?

select 连接查询语句 SQL语句查询

允许您在 SELECT 语句中引用别名列的 PostgreSQL 函数是啥?

select语句