Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да накарам MySQL да знае за многобайтови знаци в LIKE и REGEXP?

РЕДАКТИРАНО, за да включи корекция на валидна критика

Използвайте HEX() функция за изобразяване на вашите байтове в шестнадесетичен и след това използвайте RLIKE за това, например:

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

Странните символи на unicode се изобразяват последователно до техните шестнадесетични стойности, така че търсите в стандартни 0-9A-F символи.

Това работи и за "нормални" колони, просто нямате нужда от него.

p.s. Точката на @Kieren (валидна) е адресирана чрез rlike за налагане на двойки символи



  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:ГРЕШКА:Неуспешно изграждане на родно разширение на gem

  2. Преобразуване на числото на епохата в четлива от човека дата в mysql

  3. SQL Server 2005 внедряване на MySQL ЗАМЕНИ В?

  4. Проблеми при опит за използване на MySQL във връзка с Emacs

  5. Посочване на конкретни полета със Sequelize (NodeJS) вместо *