Subject Working with string, number and date formating
Author fkbash
Hi all,

I'm creating a exportation data routine in my software and I need that
the SQL statment get the data already formated from my BD.

I must be able to get the data on the format below:
- strings: formated with a specific amount of positions, if the string
is shorter than the size need I must put blank spaces on the end of
string;
- date: formated following a parameter (dd/mm/yyyy, ddmmyyyy, yymmdd,
etc);
- number: formated with a specific amount of positions, if the number
is shorter than the size needed I must put zeros on the begin of the
number. The amount of digits in decimal must be a parameter and I need
the number without decimal separator.

I'll use this to do something as bellow:

select formatnumber( a.integerfield, 6, 0 ) || formatstr( a.strfield,
10 ) || formatdate( a.datefield, 'ddmmyyyy' ) || formatnum(
a.floatfield, 10, 2 ) from a;

In the example I'll get the integerfield with 6 digits (000013), the
strfield with 10 positions ('TEST '), the datefield formated
following the parameter (21122005) and floatfield formated with the
total of 10 positions and 2 decimals without decimal separator
(12.55=0000001255).

Can I do this without an UDF???

I know that I do this in Oracle and MySQL, but I don't imagine how I
can do this in Firebird without using UDF. I can use UDF, I only have
problems that I'll need to compile the UDF for windows and linux
plataforms and I don't have a license of Kylix.

Thanks in advance

FabrĂ­cio F. Kammer
Conchal/SP - Brazil