I have two ways to check a string for a special characters in 11g
1 ) Using SELECT
V_CNT_QRY := ' SELECT LENGTH(TRIM(TRANSLATE(:1,
''
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 '',
'' '')))
from dual ';
EXECUTE IMMEDIATE V_CNT_QRY INTO V_CNT USING V_COLUMN_DATA;
2) Using a procedure
CREATE OR REPLACE PROCEDURE Validate_Inputstring(input_String IN VARCHAR2) AS
BEGIN
IF REGEXP_LIKE(input_String, '^[A-Z0-9a-z]*$') THEN
DBMS_OUTPUT.PUT_LINE('U have entered alphanumeric chars--->' ||
input_String);
ELSE
DBMS_OUTPUT.PUT_LINE('U NOT have entered alphanumeric chars---->' ||
input_String);
END IF;
END;
Please suggest a better way
translatecall every time you need it. You can just create a function for it and hide all the ugly details.