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

MySQLにLIKEおよびREGEXPのマルチバイト文字を認識させる方法は?

    有効な批判への修正を組み込むために編集

    HEX()を使用します バイトを16進数にレンダリングし、次に RLIKEを使用する その上で、例えば:

    select * from mytable
    where hex(ipa) rlike concat('(..)*', hex('needle'), '(..)*'); -- looking for 'needle' in haystack, but maintaining hex-pair alignment.
    

    奇数のUnicode文字は一貫して16進値にレンダリングされるため、標準の0-9A-F文字を検索しています。

    これは「通常の」列でも機能します。必要ないだけです。

    p.s. @Kierenの(有効な)ポイントはrlikeを使用してアドレス指定されます charペアを強制する



    1. 配列の各位置で値を2倍にする配列関数をフェッチしますか?

    2. 何千もの挿入があるCodeigniterのinsert_batch()にレコードがありません

    3. Sequelizeを使用して、オブジェクトの配列をMySQLの個々の列に格納したい

    4. SalesforceTLS1.0の廃止