自己写了一个存储过程,如下所示:
select s.currentindex,
s.updatetime,
substr(s.seqrule, 1, locate('[',s.seqrule,1)-1) as prefix,
substr(s.seqrule,
locate( '[',s.seqrule,1) + 1,
locate( ']',s.seqrule,1) - (locate( '[',s.seqrule,1) + 1)) as datemodel,
length(substr(s.seqrule,
locate( '{',s.seqrule,1) + 1,
locate( '}',s.seqrule,1) - (locate( '{',s.seqrule,1) + 1))) as seqlen,
substr(s.seqrule, locate( '}',s.seqrule,1) + 1, length(s.seqrule)) as suffix
from sys_sequence s
where s.objectname = 'PA_CHANNEL';
但在执行上述存储过程时,DB2数据库报了一个错: SQL0138N 内置字符串函数的数字自变量超出了范围。 SQLSTATE=22011,是不是substr函数与locate函数一起使用出了什么问题,想请帮忙看一下
收起