आप TRANSLATE
का उपयोग कर सकते हैं यह करने के लिए। मूल रूप से, TRANSLATE
सभी ASCII प्रिंट करने योग्य वर्णों को हटा दें (उनमें से बहुत से नहीं हैं) और देखें कि आपने क्या छोड़ा है।
यहाँ एक प्रश्न है जो यह करता है:
WITH input ( p_string_to_test) AS (
SELECT 'This this string' FROM DUAL UNION ALL
SELECT 'Test this ' || CHR(7) || ' string too!' FROM DUAL UNION ALL
SELECT 'xxx' FROM DUAL)
SELECT p_string_to_test,
case when translate(p_string_to_test,
chr(0) || q'[ !"#$%&'()*+,-./0123456789:;<=>[email protected][\]^_`abcdefghijklmnopqrstuvwxyz{|}~]',
chr(0)) is null then 'Yes' else 'No' END is_ascii
FROM input;