sql >> データベース >  >> RDS >> Oracle

Oracle DBで4バイトのUTF-8文字を含む行を選択するにはどうすればよいですか?

    UNISTR関数 を使用できます。; 𠜎文字は codepoint U +2070E です。 、UTF-16ではD841DF0Eです。ドキュメントノートとして:

    つまり、次のように表すことができます:

    select unistr('\D841\DF0E') from dual;
    
    UNISTR('\D841\DF0E')
    --------------------
    𠜎
    

    次に、UNISTRを使用して範囲を作成できます:

    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. テーブル内の重複を削除するSQL

    2. CodeIgniterActiveRecordのバッチ置換

    3. PHPを使用してJSONを介してHTML要素を送信する方法は?

    4. 投稿とコメントのmysql構造