Oracle SQL - Find special non numeric characters in field

SELECT *
  FROM <table>
 WHERE REGEXP_LIKE(<column>, '[^[:digit:]]');

Hope it helps...


You can also use the TRANSLATE function to do this, as follows:

SELECT *
  FROM A_TABLE a
  WHERE LENGTH(TRANSLATE(a.FIELD, 'x0123456789', 'x')) IS NOT NULL

The expression LENGTH(TRANSLATE(a.FIELD, 'x0123456789', 'x')) will return NULL if the field contains only numeric characters. If non-numeric characters are present it will return the number of non-numeric characters.

Share and enjoy.


Try this

SELECT *
FROM table
WHERE regexp_like(column_name,'[^0-9]+');`

This will pick all those rows which have non numeric characters in the column.

For details check this page.