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 중국어 웹사이트의 기타 관련 기사를 참조하세요!