You need a new field generated from the field you have based upon your criteria. You can do this in your SQL statement which you probably have for input to your report. There are better methods to do this in other DB’s, but this is the best I could come up with using HSQLDB SQL. It utilizes the CASE statement but needs to be nested 10 x’s to cover each of the ten digits. Here is the statement I used as a test:
select ID, STRFIELD,
CASE WHEN LOCATE('0',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('0',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('1',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('1',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('2',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('2',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('3',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('3',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('4',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('4',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('5',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('5',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('6',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('6',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('7',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('7',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('8',STRFIELD) > '0' THEN SUBSTR(STRFIELD, LOCATE('8',STRFIELD) + 1) ELSE
CASE WHEN LOCATE('9',STRFIELD) > '0' then SUBSTR(STRFIELD, LOCATE('9',STRFIELD) + 1) ELSE
STRFIELD END END END END END END END END END END
AS "SORTFLD" from TESTSAMPLE
This will find any single digit and return the portion after that digit. Here is the result:

STRFIELD was input to the process and SORTFLD was the result. Note: If the input does not contain a numeric digit, the entire string is returned.
If this answers your question please click on the
(upper left area of answer).