Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Tìm hiểu xem một chuỗi chỉ chứa các ký tự ASCII

Bạn có thể sử dụng TRANSLATE để làm điều này. Về cơ bản, translate loại bỏ tất cả các ký tự có thể in ASCII (không có nhiều ký tự trong số đó) và xem những gì bạn còn lại.

Đây là một truy vấn thực hiện điều đó:

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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách kết nối từ xa với cơ sở dữ liệu Oracle 11g

  2. Oracle INSERT INTO SELECT (...) DUP_VAL_ON_INDEX hành vi ngoại lệ

  3. Oracle.DataAccess không có sẵn để lựa chọn trong Visual Studio 2013

  4. đầu ra có chữ cái đầu tiên và cuối cùng là nguyên âm (a, e, i, o, u)

  5. SQL không phải là một tháng hợp lệ