Oracle
 sql >> база данни >  >> RDS >> Oracle

Разберете дали даден низ съдържа само ASCII знаци

Можете да използвате 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;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Напишете оператор за вмъкване с клауза за избор, връщаща идентификатор в Oracle

  2. Как да намерите медиана в sql

  3. Изчаквате изпратена задача да завърши в Oracle PL/SQL?

  4. Защо Oracle 10g не се оплаква от неяснота в колоните?

  5. Съхранена процедура на Oracle и потребителски тип данни