sql >> Database teknologi >  >> RDS >> Oracle

Hvordan vælger man rækker med 4-byte UTF-8-tegn i Oracle DB?

Du kan bruge UNISTR-funktionen ; tegnet 🠜 er kodepunkt U+2070E , som i UTF-16 er D841DF0E. Som dokumentationen bemærker:

Hvilket betyder, at du kan repræsentere det med:

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

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

Du kan derefter bruge UNISTR til at konstruere dit område:

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

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

Forudsat at du vil udelukke alle supplerende tegn; du kan justere rækkevidden, hvis du har et mere snævert fokus.



  1. Heroku Postgresql med Google Datastudio

  2. Lagring af en fil i postgres ved hjælp af node-postgres

  3. Sådan vælger du rækker, hvor en kombination af 2 kolonner er den samme

  4. Hvordan bruger man en variabel til databasenavnet i T-SQL?