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

Как да изберете редове с 4-байтови UTF-8 символи в Oracle DB?

Можете да използвате функцията UNISTR ; знакът 𠜎 е кодова точка U+2070E , което в UTF-16 е D841DF0E. Както се отбелязва в документацията:

Което означава, че можете да го представите с:

select unistr('\D841\DF0E') from dual;

UNISTR('\D841\DF0E')
--------------------
𠜎

След това можете да използвате UNISTRA, за да конструирате своя диапазон:

select REGEXP_REPLACE('asd𠜎aasd', 
  '[' 
  || UNISTR('\D800\DC00') 
  || '-' 
  || UNISTR('\DBFF\DFFF') 
  || ']', '') 
from dual;

REGEXP_REPLACE('ASD𠜎AASD','['||UNISTR('\D800\DC00')||'-'||UNISTR('\DBFF\DFFF')||']','')
----------------------------------------------------------------------------------------
asdaasd

Ако приемем, че искате да изключите всички допълнителни знаци; можете да регулирате диапазона, ако имате по-тесен фокус.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заредете лист с данни на Excel в базата данни на Oracle

  2. Константи в Oracle SQL заявка

  3. PL/SQL онлайн MCQ тест

  4. Oracle 11g - SQL за изчисляване на времевата разлика между няколко реда

  5. Оптимизиране на оракул заявка