I have the below bit of code:
x
WITH aux ( str ) AS (
SELECT
'A b s d'
FROM
dual
)
SELECT
regexp_substr(str, 'a', 'n') reg
FROM
aux;
However, I’m getting this error:
ORA-01722: invalid number
01722. 00000 - "invalid number"
*Cause: The specified number was invalid.
*Action: Specify a valid number.
My current numeric character configuration is .,
SELECT
*
FROM
nls_session_parameters
WHERE
parameter = 'NLS_NUMERIC_CHARACTERS';
PARAMETER VALUE
--------- --
NLS_NUMERIC_CHARACTERS .,
Advertisement
Answer
The third argument to regexp_substr()
is a number that specifies the position where to start searching.
If you are trying to specify the match_parameter()
, then you need to specify all five arguments:
regexp_substr(str, 'a', 1, 1, 'n') as reg