我需要将Double转换为String并将其格式化为千位分隔符和2位小数。我在函数中完成了Double到String的转换。但坚持格式化String。是否有任何干净的方式来格式化字符串?我仍在使用DB2 9.5,因此VARCHAR_FORMAT()可能不适合我。
CREATE FUNCTION BELSIZE.DBL2STR_2DP (VAR0 DOUBLE)
RETURNS VARCHAR(50)
F1: BEGIN ATOMIC
DECLARE var0_2dp DOUBLE;
DECLARE sVar VARCHAR(50);
DECLARE dec_part VARCHAR(50);
SET var0_2dp = ROUND(VAR0, 2);
SET sVar = CAST(CHAR(ABS(DECIMAL(var0_2dp, 31, 2))) AS VARCHAR(50));
SET sVar = STRIP(sVar, LEADING, '0');
IF VAR0 < 0 THEN
SET sVar = CONCAT('-', sVar);
END IF;
RETURN sVar;
END