SELECT person_no sub_sys_individual_id,
nm_e,
nm_a,
nvl(sex, -1) sex,
nvl(prs_nat, -999) prs_nat,
person_no,
\'NA\' prog_where_not_allowed,
\'NA\' udb_no,
person_tp,
FYI, you'll also get this error (i'm on Oracle 12.2) if you have the input parameter to a stored proc that will be the query in a contains predicate as an NVARCHAR2. So if you have input params to a stored proc as NVARCHAR2 and that parameter is destined for the query in the contains predicate, then change it to VARCHAR (or maybe CLOB) and it will no longer throw this error.