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

Bagaimana cara membuat MySQL mengetahui karakter multi-byte di LIKE dan REGEXP?

DIEDIT untuk memasukkan perbaikan pada kritik yang valid

Gunakan HEX() berfungsi untuk merender byte Anda ke heksadesimal dan lalu gunakan RLIKE pada itu, misalnya:

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

Karakter unicode yang aneh dirender secara konsisten ke nilai heksanya, jadi Anda menelusuri karakter standar 0-9A-F.

Ini juga berfungsi untuk kolom "normal", Anda tidak membutuhkannya.

hal. Poin @Kieren (valid) ditangani menggunakan rlike untuk menegakkan pasangan char



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL InnoDB:Perbedaan Antara `UNTUK UPDATE` dan `LOCK IN SHARE MODE`

  2. Haruskah MySQL mengatur zona waktunya ke UTC?

  3. Saya bingung tentang koneksi MySQL bersamaan

  4. Alat baris perintah Doktrin 2; MAMP dan mysql.sock

  5. menjebak peringatan MySql