Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Karakter hex dalam pencocokan regexp di mysql

Ini juga cocok:

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

Alasannya adalah karena \x ditafsirkan sebagai x dan a berada di antara 1 dan x . Regex Anda yang lain hanyalah karakter biasa yang tidak relevan di sini karena sudah berada dalam rentang [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.

Saya tidak yakin apa yang ingin Anda capai, tetapi jika Anda menginginkan karakter hex, Anda dapat menggunakan fungsi hex:

SELECT HEX('a')
61


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara terhubung ke Mysql menggunakan C #?

  2. EF6 MySql:Update-Database -Script menghasilkan SQL tanpa titik koma

  3. Bagaimana Anda memilih dari mysql di mana karakter terakhir dalam string =x?

  4. Klien baris perintah MySQL untuk Windows

  5. Penulisan ulang URL dengan .htaccess buat duplikat entri mysql