> 데이터 베이스 > MySQL 튜토리얼 > MySQL의 문자열에서 이름, 중간 이름, 성을 추출하는 방법은 무엇입니까?

MySQL의 문자열에서 이름, 중간 이름, 성을 추출하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-19 15:42:08
원래의
933명이 탐색했습니다.

How to Extract First, Middle, and Last Names from a String in MySQL?

MySQL의 문자열 필드에서 이름, 중간 이름, 성을 추출

이름 문자열을 이름, 중간 이름, 성으로 분할하는 것은 데이터 처리에서 일반적인 작업입니다. MySQL은 이러한 목적을 위해 다양한 기능을 제공합니다.

방법 1: 이름, 중간 이름, 성을 분리

이 방법은 SUBSTRING_INDEX 및 LENGTH 함수를 활용하여 이름의 각 부분을 추출합니다.

<code class="language-sql">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;</code>
로그인 후 복사

설명:

  • SUBSTRING_INDEX(fullname, ' ', 1) 첫 번째 공백까지 문자열 부분을 추출합니다.
  • SUBSTRING_INDEX(..., ' ', -1) 이 문자열에서 마지막 요소를 검색하여 이름을 제공합니다.
  • IF 문자열에 공백이 여러 개 포함되어 있는지 확인합니다(중간 이름이 있음을 나타냄).
  • SUBSTRING_INDEX(..., ' ', 2) 그런 다음 중간 이름과 성이 포함된 부분을 분리합니다.
  • SUBSTRING_INDEX(..., ' ', -1) 문자열의 마지막 부분을 추출하여 성을 제공합니다.

방법 2: 성과 이름 분리

중간 이름이 성의 일부로 간주되는 경우 다음 방법을 사용할 수 있습니다.

<code class="language-sql">SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
    TRIM(SUBSTR(fullname, LOCATE(' ', fullname))) AS last_name
FROM registeredusers;</code>
로그인 후 복사

설명:

  • SUBSTRING_INDEX(fullname, ' ', 1) 문자열의 일부를 첫 번째 공백까지 추출하여 이름을 제공합니다.
  • LOCATE(' ', fullname) 첫 번째 공간의 위치를 ​​찾아보세요.
  • SUBSTR(fullname, ...)은 LOCATE에서 시작하여 중간 이름과 성을 포함한 나머지 문자열을 검색합니다.
  • TRIM 선행 또는 후행 공백을 제거하세요.

위 내용은 MySQL의 문자열에서 이름, 중간 이름, 성을 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿