Для всех версий Db2 для LUW:
with t (s) as (values
'RTNCK1319 5.7.19 INSUFFICIENT FUNDS'
)
select
xmlcast(xmlquery('fn:tokenize($s, " +")[2]' passing ltrim(t.s) as "s") as varchar(10))
, xmlcast(xmlquery('fn:replace($s, "^ *[^ ]+ +[^ ]+ +", "")' passing t.s as "s") as varchar(100))
from t;
Без регулярного выражения (1-е два промежуточных пробела должны быть одинарными):
with t (s) as (values
'RTNCK1319 5.7.19 INSUFFICIENT FUNDS'
)
select
substr(s, s1pos+1, s2pos-s1pos) s1
, substr(s, s2pos+1) s2
from
(
select
ltrim(s) s
, locate_in_string(ltrim(s), ' ', 1, 1) s1pos
, locate_in_string(ltrim(s), ' ', 1, 2) s2pos
from t
);