Альтернатива ответу Дейва:
1) Если ваша СУБД поддерживает ее (например, HSQLDB), вы можете создать пользовательскую функцию, вызываемую пользователем, которая принимает представление модели данных для поляи преобразует его в представление уровня представления.Например, база данных хранит временные метки внутри себя как числа измененных юлианских дней (удваивается).Java-функция может быть написана и сохранена в базе данных (SQL / JRT) для преобразования из двойного UTC в локализованную строку времени / даты.
2) Написать SQL-запрос для создания таблицы, содержащей данные, которые выхочу в отчете.Разница в том, что вы используете вызываемую пользователем функцию SQL / JRT в исходном столбце, чтобы преобразовать ее в представление уровня представления в таблице результатов.
3) Используйте SQL-запрос (когда он заработает)) в качестве основы для оператора CREATE VIEW (DDL).
4) Создайте свой отчет, используя вновь определенный View в качестве источника данных iReport.
Преимущества: настройка iReports не требуется.Представление, которое вы создаете, может служить основой для любого инструмента отчетности, а не только для iReports.
Недостатки: это создает зависимость между вашей базой данных и JRE и (скорее всего) вашей RDBMS.Чтобы получить доступ к вашей вызванной пользователем функции, вам нужно сохранить функцию в базе данных, и она должна иметь возможность доступа к JRE, чтобы создать представление.Существует стандарт SQL / JRT, и поэтому вполне возможно, что ваша целевая миграционная СУБД сможет его поддерживать, но, конечно, это никогда не гарантируется.