You can perform this conversion using the following syntax:
REPLACE( REPLACE( rtrim( ltrim( REPLACE( char( ), '0', ' '))), ' ', '0'), '.', '')
In fact, having the following sample table:
DESCRIBE TABLE pippo
COLUMN Type Type
name schema name Length Scale Nulls
------------------------------ --------- ------------------ -------- ----- ------
IDPIPPO SYSIBM DECIMAL 18 0 Yes
CNUMPIPPO SYSIBM VARCHAR 120 0 Yes
2 record(s) selected.
with a single tuple:
INSERT INTO pippo VALUES (250,NULL);
we can see the difference between a simple cast and the syntax shown above:
UPDATE pippo SET CNUMPIPPO = char(idpippo);
IDPIPPO CNUMPIPPO
250 000000000000000250.
and with some optimizations:
UPDATE pippo SET CNUMPIPPO=REPLACE( REPLACE( rtrim( ltrim( REPLACE( char(idpippo), '0', ' '))), ' ', '0'), '.', '');
IDPIPPO CNUMPIPPO
250 250
NB: syntax is not used when there are negative values.
No comments:
Post a Comment