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

Jak wyodrębnić n-te słowo i policzyć wystąpienia słów w ciągu MySQL?

Poniżej przedstawiono proponowane rozwiązanie dla specyficznego PO problem (wyodrębnianie drugiego słowa z ciągu), ale należy zauważyć, że, jak mówi odpowiedź mc0e, faktyczne wyodrębnianie dopasowań regex nie jest obsługiwane od razu w MySQL. Jeśli naprawdę tego potrzebujesz, możesz:1) zrobić to w przetwarzaniu końcowym na kliencie lub 2) zainstalować rozszerzenie MySQL, aby je obsługiwać.

BenWells ma to bardzo prawie poprawne. Działając na podstawie jego kodu, oto nieco zmieniona wersja:

SUBSTRING(
  sentence,
  LOCATE(' ', sentence) + CHAR_LENGTH(' '),
  LOCATE(' ', sentence,
  ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
)

Jako przykład pracy użyłem:

SELECT SUBSTRING(
  sentence,
  LOCATE(' ', sentence) + CHAR_LENGTH(' '),
  LOCATE(' ', sentence,
  ( LOCATE(' ', sentence) + 1 ) - ( LOCATE(' ', sentence) + CHAR_LENGTH(' ') )
) as string
FROM (SELECT 'THIS IS A TEST' AS sentence) temp

To pomyślnie wyodrębnia słowo IS



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zduplikować bazę danych za pomocą phpMyAdmin

  2. SEC_TO_TIME() Przykłady – MySQL

  3. Porównanie rozwiązań do replikacji Oracle i MySQL

  4. Jak naprawić BŁĄD 1130 (HY000):Host nie może połączyć się z tym serwerem MySQL

  5. count(*) i count(nazwa_kolumny), jaka jest różnica?