Nano Hash - криптовалюты, майнинг, программирование

Как отформатировать столбец NUMBER в Oracle?

Я пытаюсь вывести spool в хорошем виде, поэтому я форматирую все столбцы VARCHAR2 в a5. Однако мои проблемные столбцы: SLOTNUM типа NUMBER (2) и FEEADJUSTMENT типа NUMBER (5,2). Мой код:

column SLOTNUM format 999;
column FEEADJUSTMENT format 999.9;
.........
column [other VARCHAR2]     format a5;
select * from allTables;

Результат:

SLOTNUM DATEV ACTUA NOTES FEEADJUSTMENT TREAT NAME                                          
------- ----- ----- ----- ------------- ----- -----                                        
     12 19-JU 19-ju Treat           2.5 12345 Flu                                              
        N-13  n-13  ment                6     Shot                                       
              00:00 succe                                                                                   
              :00   ssful                                                                                    
                    l                                                                                       

     15 20-JU 20-ju Appar           5.5 12345 Flu                                                 
        N-13  n-13  atus                6     Shot                                                         
              02:00 broke                                                                                     
              :00                                                                                              

FEEADJUSTMENT занимает больше места, чем нужно. Почему format 999.9 не обрезает столбец FEEADJUSTMENT?


Ответы:


1

Поскольку используется длина заголовка столбца, в документации говорит:

Ширина столбца ЧИСЛО равна ширине заголовка или ширине ФОРМАТ плюс один пробел для знака, в зависимости от того, что больше.

Вы можете использовать псевдоним для столбца с более коротким именем:

select slotnum as slotn, ...

Вы также можете рассматривать его как строку, но вам все равно понадобится псевдоним:

select to_char(slotnum, 'FM9999') as slotn, ...

Вы могли бы использовать псевдоним как slotnum, если хотите, и использовать format a5, но я думаю, что это было бы менее понятно.

Я не уверен, что я бы описал принудительное a5 как «хорошее», особенно потому, что у вас есть значения более длинные, чем те, которые форсируют перенос столбцов. Дело вкуса, наверное...

24.06.2013
  • Да, потому что у меня слишком много столбцов... я просто начну с a5, а затем соответствующим образом настрою столбцы. надеюсь будет красиво смотреться 25.06.2013

  • 2

    Формат с этим:

    column SLOTNUM format a3;
    column FEEADJUSTMENT format a5;
    
    24.06.2013
  • Спасибо за ответ +1. Однако это не сработает, это даст #####. Проверьте это: stackoverflow.com/questions/17284092/ 25.06.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..