禁止来自 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
,那么你可能可以使用tail
和head
命令来获得所需的输出
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 语句的列名的主要内容,如果未能解决你的问题,请参考以下文章
netezza 的 _v_session_brief 表中的列名代表啥?