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

Как да използвате заместващи знаци за префикс като '*abc' със съвпадение срещу

Съвпадението не работи с начални заместващи знаци, така че съпоставянето с *abc* няма да работи. Ще трябва да използвате LIKE за да постигнете това:

SELECT * FROM user WHERE user_login LIKE '%abc';

Това обаче ще бъде много бавно.

Ако наистина трябва да съвпадате за края на низа и трябва да правите това често, докато изпълнението ви убива, решение би било да създадете отделна колона, в която да обърнете низовете, така че да получите:

user_login user_login_rev
xyzabc     cbazyx

След това, вместо да търсите '%abc' , можете да потърсите 'cba%' което е много по-бързо, ако колоната е индексирана. И можете отново да използвате MATCH, ако искате да търсите 'cba*' . Просто ще трябва да обърнете и низа за търсене.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL група по дата, но получавайте и дати без записи

  2. Използване на Order By в codeigniter

  3. Вмъкване в база данни (mysql) с помощта на Ajax и PHP

  4. как да използвам функцията за ляво на низ в hql

  5. Къде да промените стойността на low_case_table_names=2 в windows xampp