Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak używać symboli wieloznacznych z przedrostkiem, takich jak „*abc” z dopasowaniem przeciw

Dopasowanie nie działa z początkowymi symbolami wieloznacznymi, więc dopasowanie za pomocą *abc* nie zadziała. Będziesz musiał użyć LIKE aby to osiągnąć:

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

Będzie to jednak bardzo powolne.

Jeśli naprawdę musisz dopasować koniec ciągu, a musisz to robić często, gdy występ cię zabija, rozwiązaniem byłoby utworzenie oddzielnej kolumny, w której odwracasz ciągi, więc otrzymujesz:

user_login user_login_rev
xyzabc     cbazyx

Następnie zamiast szukać '%abc' , możesz poszukać 'cba%' co jest znacznie szybsze, jeśli kolumna jest indeksowana. Możesz ponownie użyć funkcji PODAJ.POZYCJĘ, jeśli chcesz wyszukać 'cba*' . Musisz tylko odwrócić ciąg wyszukiwania.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MAMP PRO ulega awarii; MySQL nie uruchamia się po ponownym uruchomieniu

  2. php:sesje a baza danych

  3. Niestandardowa paginacja zapytań Cakephp

  4. Wstaw wartość domyślną do kolumny niezerowej, jeśli wartość jest równa null

  5. schemat bazy danych przyjaźni