I'm not sure why your field is adding a space and making the end drop off. However, I may have a better way if you are able to do this. We use Oracle and run multiselect parameters to provide data to the report. The parameter is provided to the query as a comma delimited string. We use a common table expression with CONNECT BY LEVEL to split the value into their on rows and then access that data from the main query. Doing this you would not have to do the split on the field. Each value would be its own row and could be treated as such. WITH USER_LIST AS (SELECT NVL(TOKEN, '0') FROM (SELECT TRIM(SUBSTR(USER_LIST, INSTR(USER_LIST, ',', 1, LEVEL) + 1, INSTR(USER_LIST, ',', 1, LEVEL + 1) - INSTR (USER_LIST, ',', 1, LEVEL) - 1 ) ) AS TOKEN FROM (SELECT ','|| '$P!{USER_NAME}' ||',' USER_LIST FROM DUAL) CONNECT BY LEVEL <= LENGTH('$P!{USER_NAME}') - LENGTH (REPLACE ('$P!{USER_NAME}', ',', '') ) + 1 ) ) SELECT * FROM USER_LIST