sql >> Database teknologi >  >> RDS >> Mysql

Hex-tegn i regexp-matching i mysql

Dette matcher også:

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

Årsagen er, at \x er fortolket som x og a kommer mellem 1 og x . Resten af ​​dit regulære udtryk er bare almindelige tegn, der ikke er relevante her, fordi de allerede er inden for området [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.

Jeg er ikke sikker på, hvad du prøver at opnå, men hvis du vil have hex-tegn, kan du bruge hex-funktionen:

SELECT HEX('a')
61


  1. Hvordan gemmer man BLOB som fil i PL/SQL?

  2. Forbedring af vores online jobportal-datamodel

  3. Gendan en SQLite-database

  4. MariaDB JSON_MERGE() Forklaret