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

mysqlでの正規表現マッチングの16進文字

    これも一致します:

    SELECT CONVERT('a' USING BINARY) REGEXP '[1-\x]'
    

    その理由は、\x xとして挿入されます およびa 1の間にあります およびx 。残りの正規表現は、すでに[1-x]の範囲内にあるため、ここでは関係のない通常の文字です。

    SELECT CONVERT('0' USING BINARY) REGEXP '[\x61-\x61]' -- Fails, because 0 < 1.
    SELECT CONVERT('1' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
    SELECT CONVERT('2' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
    ...
    SELECT CONVERT('w' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
    SELECT CONVERT('x' USING BINARY) REGEXP '[\x61-\x61]' -- Succeeds: inside [1-x].
    SELECT CONVERT('y' USING BINARY) REGEXP '[\x61-\x61]' -- Fails, because y > x.
    

    何を達成しようとしているのかわかりませんが、16進文字が必要な場合は、16進関数を使用できます。

    SELECT HEX('a')
    61
    


    1. MySQLプリペアドステートメント-最大長1000文字

    2. MYSQL:文字列を月に変換する方法(数値)

    3. EXPLAINプランに基づいてMySQLクエリを最適化する方法

    4. MySQLユーザーDBにパスワード列がありません-OSXへのMySQLのインストール