Решение состоит в том, чтобы использовать cast(cast(FLOAT_VAL as FORMAT 'Z(16)') as varchar(16))
Чтобы сделать все это числовым и заполнить его пробелами: cast(FLOAT_VAL as FORMAT 'Z(16)')
Чтобы удалить заполнение: cast(<VALUE> as varchar(16))
Альтернативное решение: trim(cast(FLOAT_VAL as FORMAT 'Z(16)'))
.logtable sysdba.TABLE_NAME;
.run file XXX/XXXXX/XXXXXX/XXXXX.btq;
.begin export;
.export outfile /XXX/XXX/XXX/XXX/YYYYYYY.YYYYYYYYYY_19000100-19000100 MODE RECORD FORMAT TEXT;
SELECT cast( cast(cast(FLOAT_VAL as FORMAT 'Z(16)') as varchar(16))
|| case when XXXXXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXX is null then '|' else cast(XXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXX is null then '|' else cast(XXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXX as varchar(500)) || '|' end
|| case when XXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXX as varchar(500)) end
as char(360))
from YYYYYYY.YYYYYYYYYY;
.end export;