1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
CREATE FUNCTION ZK_UTIL.GETNBRSTR ( PARD DECIMAL(11, 0) )
RETURNS VARCHAR(500) BEGIN
DECLARE UTLZTN VARCHAR ( 500 ) CCSID 297 ;
DECLARE VALSUPML , VALMILLE , VALCENT INTEGER ;
DECLARE VALEUR DECIMAL ( 30 ) ;
DECLARE VAL10 , VALUNITE INTEGER ;
SET UTLZTN = '' ;
SET VALEUR = PARD ;
--Nous allons convertir les chifres entre 1 000 000 et 999 999 999
IF VALEUR >= 1000000 THEN
SET VALSUPML = DECIMAL ( VALEUR / 1000000 ) ;
IF VALSUPML > 1 THEN
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALSUPML ) ) , ' million ' ) ;
ELSE
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALSUPML ) ) , ' million ' ) ;
END IF ;
SET VALEUR = VALEUR - ( VALSUPML * 1000000 ) ;
END IF ;
--Nous allons convertir les chiffres entre 1000 et 999 999
IF VALEUR >= 1000 THEN
SET VALMILLE = DECIMAL ( VALEUR / 1000 ) ;
IF VALMILLE > 1 THEN
SET UTLZTN = CONCAT ( CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALMILLE ) ) , ' mille ' ) ;
ELSE
SET UTLZTN = CONCAT ( UTLZTN , ' mille ' ) ;
END IF ;
SET VALEUR = VALEUR - ( VALMILLE * 1000 ) ;
END IF ;
SET UTLZTN = CONCAT ( UTLZTN , ZK_UTIL . GETNSTR100 ( VALEUR ) ) ;
RETURN UTLZTN ;
END ;
|
Partager