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

Jak podzielić ciąg nazwy w mysql?

Podzieliłem tę odpowiedź na dwie (2) metody. Pierwsza metoda rozdzieli Twoje imię i nazwisko na imię, drugie imię i nazwisko. Drugie imię będzie wyświetlane jako NULL, jeśli nie ma drugiego imienia.

SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
   If(  length(fullname) - length(replace(fullname, ' ', ''))>1,  
       SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1) ,NULL) 
           as middle_name,
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name
FROM registeredusers

Ta druga metoda traktuje drugie imię jako część nazwiska. Z pola imienia i nazwiska wybierzemy tylko kolumnę imienia i nazwiska.

SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
    TRIM( SUBSTR(fullname, LOCATE(' ', fullname)) ) AS last_name
FROM registeredusers

Jest kilka fajnych rzeczy, które możesz zrobić za pomocą substr, locate, substring_index, itp. Sprawdź podręcznik, aby poznać prawdziwe zamieszanie. http://dev.mysql.com/doc/refman /5.0/pl/string-functions.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Procedura składowana MySQL a funkcja, której powinienem użyć, kiedy?

  2. Jak wyświetlić błędy dla mojego zapytania MySQLi?

  3. Przykłady LOCALTIME – MySQL

  4. Jak tworzyć i wdrażać Azure Database for MySQL Server przy użyciu Azure Portal i Workbench

  5. Błąd przygotowanej instrukcji mysql:MySQLSyntaxErrorException