#db2
#db2
Вопрос:
Мне не нравится вывод консоли 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 символов).
Ответ №1:
Форматирование выходных данных SQL — это работа для клиентского приложения.
Ваш вопрос показывает использование устаревшего приложения interactive Db2 Command-Line-Processor (Db2 CLP), поставляемого с некоторыми клиентами Db2. Db2 CLP имеет ограниченную функциональность форматирования по сравнению с Oracle SQL * Plus.
Однако, если вы привыкли к форматированию в стиле Oracle SQL*Plus
, с некоторыми клиентами Db2 поставляется инструмент под названием clpplus, который эмулирует SQL*Plus
. Это означает, что вам не нужно изучать новый синтаксис для форматирования и многих других действий.
Вы можете использовать clpplus
вместо интерактивного Db2 CLP и clpplus
позволяет использовать многие функции и синтаксис Oracle SQL*Plus
с базами данных Db2.
Ответ №2:
Я нашел хороший обходной путь, используя синтаксис substr SQL
Без substr
select title,year from titles;
TITLE YEAR
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------
Fantasia 1940
ИК!
С использованием substr
select substr(title,1,19) as title, substr(year,1,4) as year from titles;
TITLE YEAR
-------------------------------------- ----
FANTASIA 1940
Хорошо!