Альфа 6000
становится 6000.00
в Числовом, это правильно.
Если вы хотите интерпретировать последние 2 цифры как десятичные, вы должны указать только .
в вашей строке.
str = %subst(alphanumeric: 1: %len(alphanumeric)-3) + '.' + %subst(alphanumeric: %len(alphanumeric)-2: 2)
И затем преобразовать новую строку в число.
Вы также можете использовать EMBEDDED SQL:
EXEC SQL
SET :NEW_STRING = (
SELECT
DECIMAL( substr(:alphanumeric, 1, LENGTH(:alphanumeric)-3)
CONCAT '.'
CONCAT substr(:alphanumeric, LENGTH(:alphanumeric)-2, 2),
13, 2)
FROM
sysibm.sysdummy1
)