Db2:如何格式化输出?
Db2: how to format output?
我不喜欢 db2 控制台输出
db2 => SELECT city,SUM(sales) as sum from offices group by city;
CITY SUM
---------------------------------------------------------------------------------------------------- ---------------------------------
Rome 14000,
London 19000,
我更喜欢这样的东西
db2 => SELECT city,SUM(sales) as sum from offices group by city;
CITY SUM
------------------------
Rome 14000
London 19000
我在 Oracle 上使用
set feedback on;
set linesize 9000
set colsep |
column column1 format a30
column column2 format a20
....
我得到了一个不错的输出
如何格式化 DB2 上的列?
我对最大尺寸感兴趣(a30 表示显示 30 个字符)。
格式化 SQL 输出是客户端应用程序的工作。
您的问题显示使用了一些 Db2 客户端提供的遗留交互式 Db2 Command-Line-Processor (Db2 CLP) 应用程序。与 Oracle SQL*Plus.
相比,Db2 CLP 的格式化功能有限
但是,如果您习惯了 Oracle SQL*Plus
风格的格式化,一些 Db2 客户端提供了一个名为 clpplus 的工具来模拟 SQL*Plus
。这意味着您无需学习用于格式化和许多其他操作的新语法。
您可以使用 clpplus
而不是交互式 Db2 CLP,并且 clpplus
允许您将 Oracle SQL*Plus
的许多特性和语法用于 Db2 数据库。
我找到了一个很好的解决方法,使用 SQL 语法的 substr
没有substr
select title,year from titles;
TITLE YEAR
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------
Fantasia 1940
EEK!
使用 substr
select substr(title,1,19) as title, substr(year,1,4) as year from titles;
TITLE YEAR
-------------------------------------- ----
FANTASIA 1940
好!
我不喜欢 db2 控制台输出
db2 => SELECT city,SUM(sales) as sum from offices group by city;
CITY SUM
---------------------------------------------------------------------------------------------------- ---------------------------------
Rome 14000,
London 19000,
我更喜欢这样的东西
db2 => SELECT city,SUM(sales) as sum from offices group by city;
CITY SUM
------------------------
Rome 14000
London 19000
我在 Oracle 上使用
set feedback on;
set linesize 9000
set colsep |
column column1 format a30
column column2 format a20
....
我得到了一个不错的输出 如何格式化 DB2 上的列? 我对最大尺寸感兴趣(a30 表示显示 30 个字符)。
格式化 SQL 输出是客户端应用程序的工作。
您的问题显示使用了一些 Db2 客户端提供的遗留交互式 Db2 Command-Line-Processor (Db2 CLP) 应用程序。与 Oracle SQL*Plus.
相比,Db2 CLP 的格式化功能有限但是,如果您习惯了 Oracle SQL*Plus
风格的格式化,一些 Db2 客户端提供了一个名为 clpplus 的工具来模拟 SQL*Plus
。这意味着您无需学习用于格式化和许多其他操作的新语法。
您可以使用 clpplus
而不是交互式 Db2 CLP,并且 clpplus
允许您将 Oracle SQL*Plus
的许多特性和语法用于 Db2 数据库。
我找到了一个很好的解决方法,使用 SQL 语法的 substr
没有substr
select title,year from titles;
TITLE YEAR
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------
Fantasia 1940
EEK!
使用 substr
select substr(title,1,19) as title, substr(year,1,4) as year from titles;
TITLE YEAR
-------------------------------------- ----
FANTASIA 1940
好!