用千位分隔符格式化双字符串

时间:2016-01-14 01:27:45

标签: sql function format db2 string-formatting

我需要将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

0 个答案:

没有答案